--- 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