diff options
Diffstat (limited to 'app-arch/zoo/files/zoo-2.10-security_pathsize.patch')
-rw-r--r-- | app-arch/zoo/files/zoo-2.10-security_pathsize.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/app-arch/zoo/files/zoo-2.10-security_pathsize.patch b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch new file mode 100644 index 000000000000..4f89530f43e7 --- /dev/null +++ b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch @@ -0,0 +1,23 @@ +Taken from Fedora + +--- misc.c ++++ misc.c +@@ -135,11 +135,17 @@ + char *fullpath (direntry) + struct direntry *direntry; + { +- static char result[PATHSIZE]; ++ static char result[PATHSIZE+LFNAMESIZE+12]; /* Room for enough space.*/ + combine (result, + direntry->dirlen != 0 ? direntry->dirname : "", + (direntry->namlen != 0) ? direntry->lfname : direntry->fname + ); ++ ++ if (strlen (result) >= PATHSIZE) { ++ prterror ('f', "Combined dirname and filename too long!\n"); ++ *result = '\0'; ++ } ++ + return (result); + } + |