Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 15 Aug 2017 16:25:50 +0200
From: Szabolcs Nagy <>
To: Denys Vlasenko <>
Cc: Rich Felker <>, musl <>
Subject: Re: fnmatch bug? escaping of '-' and ']' inside [...] does
 not work.

* Denys Vlasenko <> [2017-08-15 15:12:17 +0200]:
> Moving bbox build to musl did uncover one definite bug.
> bbox has gazillion tests for its shells, and one of them
> started failing. I added debug printout and with it,
> the following fnmatch calls give different results now:
> ash: fnmatch(pattern:'[a\-c]',str:'-',0):1
> ash: fnmatch(pattern:'[\]]',str:']',0):1
> ash: fnmatch(pattern:'[a\]]',str:']',0):1
> glibc and uclibc threat the above as a match.
> The assumption may be that one should place ']' or '-'
> as a first character in the [...] and thus escaping
> is not necessary, but shell does not have the luxury
> of choosing the pattern, in comes from the script.

it's not clear to me if \ is valid as escape in fnmatch pattern:

in re bracket expression \ is not an escape char,
but in the shell i think the pattern should be
unquoted first, which may or may not apply to
fnmatch bracket expression, depending on how you
read the text.

i guess if other implementations do the unquoting
musl should follow that, but the standard could
be improved.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.