# HG changeset patch # User Richard M. Stallman # Date 895008824 0 # Node ID c33bec4d9e67dc8f278494fce25c4d1a69954ca8 # Parent bc29c7cef66a20c5bc2b2e8094bdd846feaa5ad5 (stat, get_long_basename): Fail if filename contains any characters that are illegal in file names. diff -r bc29c7cef66a -r c33bec4d9e67 src/w32.c --- a/src/w32.c Tue May 12 20:15:27 1998 +0000 +++ b/src/w32.c Tue May 12 21:33:44 1998 +0000 @@ -464,6 +464,10 @@ HANDLE dir_handle; int len = 0; + /* must be valid filename, no wild cards or other illegal characters */ + if (strpbrk (name, "*?|<>\"")) + return 0; + dir_handle = FindFirstFile (name, &find_data); if (dir_handle != INVALID_HANDLE_VALUE) { @@ -1639,8 +1643,8 @@ } name = (char *) map_w32_filename (path, &path); - /* must be valid filename, no wild cards */ - if (strchr (name, '*') || strchr (name, '?')) + /* must be valid filename, no wild cards or other illegal characters */ + if (strpbrk (name, "*?|<>\"")) { errno = ENOENT; return -1;