--- libc/posix/fnmatch.c 2006-03-14 12:53:06.000000000 +0000 +++ libc/posix/fnmatch.c.patched 2006-03-14 12:50:43.000000000 +0000 @@ -383,6 +383,7 @@ if (__builtin_expect (n == (size_t) -1, 0)) /* Something wrong. Fall back to single byte matching. */ goto try_singlebyte; + wstring = (wchar_t *) alloca ((n + 1) * sizeof (wchar_t)); assert (mbsinit (&ps)); (void) mbsrtowcs (wstring, &string, n + 1, &ps); }