joe/joe-3.1-terminate_buffer.patch

12 lines
320 B
Diff

--- path.c
+++ path.c
@@ -210,6 +210,8 @@
where = (unsigned char *)getenv("TEMP");
if (!where)
where = USTR _PATH_TMP;
+ if (strlen(where) > PATH_MAX+NAME_MAX)
+ where[PATH_MAX+NAME_MAX+1] = '\0';
namesize = zlen(where) + 16;
name = vsmk(namesize); /* [G.Ghibo'] we need to use vsmk() and not malloc() as