Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: [bug] busyloop upon $=var with NULs when $IFS contains both NUL and a byte > 0x7f
Sorry for very late reply.
> 2022/11/29 23:38, Peter Stephenson <p.w.stephenson@xxxxxxxxxxxx> wrote:
>
>> On 29/11/2022 14:27 Jun. T <takimoto-j@xxxxxxxxxxxxxxxxx> wrote:
>> 3834 for (; *s; r++) {
>> 3835 char *ie = itype_end(s, ISEP, 1);
>> 3836 if (ie != s) {
>> 3837 s = ie;
>> ....
>> 3840 }
>> 3841 (void)findsep(&s, NULL, 0);
>> ....
>> 3845 }
>>
>> Here, the pointer s already points to a ISEP (\x83\x20 = metafied Nul),
>> but itype_end() can't find the next ISEP (ie == s) due to the empty
>> ifs_wide, and findsep() does not move s because *s is already ISEP,
>> resulting in infinite-loop with the same s.
>
> I guess the obvious thing to do here is any time s doesn't move
> give up splitting at that point.
How can we 'give up'? Is it OK to call exit()?
Messages sorted by:
Reverse Date,
Date,
Thread,
Author