patch 7.4.903
Problem: MS-Windows: When 'encoding' differs from the current code page,
expandinig wildcards may cause illegal memory access.
Solution: Allocate a longer buffer. (Ken Takata)
diff --git a/src/misc1.c b/src/misc1.c
index aacf610..fa1e049 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -9940,8 +9940,9 @@
return 0;
}
- /* make room for file name */
- buf = alloc((int)STRLEN(path) + BASENAMELEN + 5);
+ /* Make room for file name. When doing encoding conversion the actual
+ * length may be quite a bit longer, thus use the maximum possible length. */
+ buf = alloc((int)MAXPATHL);
if (buf == NULL)
return 0;