[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Infinite loop in globbing
From: |
Chet Ramey |
Subject: |
Re: Infinite loop in globbing |
Date: |
Mon, 14 Mar 2011 10:55:32 -0400 |
> >> $ [$'\xFD'$'\xBA']
> >> ^C
> >>
> >> The bash 4.2 is in infinite loop. The bash 4.1 work well.
> > Can you give more details about the setup here? Does the glob match
> > any files or not?
> Just need to set some utf8 locales (I guess, tried and using
> en_US.UTF-8). It doesn't matter if the file exists.
> > In a NON-utf8 locale, with no matching files, I get:
> >
> > imadev:~$ [$'\xFD'$'\xBA']
> > bash: [ýº]: command not found
> >
> The same here. NON-utf8 locale working. bash-4.1 working also with utf8.
>
> bash-4.2 get stuck in xdupmbstowcs2() static function in do-while loop.
> I know nearly nothing about wide chars so I don't know what is bad here.
The 0xfd is an invalid multibyte character, so it can't be converted to
a wide character. mbsnrtowcs returns 0, which is kind of a dodgy error
(mbrlen returns -1 for the same character, for instance), but the code
doesn't handle that case.
The question is how to best handle it: punt immediately, or just treat it
as a single-byte character and move on.
Chet
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/
Re: Infinite loop in globbing, Chet Ramey, 2011/03/14