From: Ulrich Drepper Date: Tue, 27 Apr 1999 09:01:47 +0000 (+0000) Subject: (internal_fnmatch): Correctly reset string pointer in case of an invalid [[: expression. X-Git-Tag: cvs/glibc-2_1_1~122 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c0e18e5ed018bb61dcd106bfeebf7dd923053b3f;p=thirdparty%2Fglibc.git (internal_fnmatch): Correctly reset string pointer in case of an invalid [[: expression. --- diff --git a/posix/fnmatch.c b/posix/fnmatch.c index d31c375bd21..b147f47d360 100644 --- a/posix/fnmatch.c +++ b/posix/fnmatch.c @@ -130,7 +130,9 @@ extern int errno; /* Match STRING against the filename pattern PATTERN, returning zero if it matches, nonzero if not. */ static int +#ifdef _LIBC internal_function +#endif internal_fnmatch (const char *pattern, const char *string, int no_leading_period, int flags) { @@ -295,6 +297,7 @@ internal_fnmatch (const char *pattern, const char *string, # if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) wctype_t wt; # endif + char *startp = p; for (;;) { @@ -313,7 +316,7 @@ internal_fnmatch (const char *pattern, const char *string, { /* This cannot possibly be a character class name. Match it as a normal range. */ - --p; + p = startp; c = '['; goto normal_bracket; }