SOURCES: zoo-CAN-2005-2349.patch (NEW), zoo-febz-183426.patch (NEW...
glen
glen at pld-linux.org
Thu Mar 16 20:47:22 CET 2006
Author: glen Date: Thu Mar 16 19:47:21 2006 GMT
Module: SOURCES Tag: HEAD
---- Log message:
- various
---- Files affected:
SOURCES:
zoo-CAN-2005-2349.patch (NONE -> 1.1) (NEW), zoo-febz-183426.patch (NONE -> 1.1) (NEW), zoo-security_pathsize.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: SOURCES/zoo-CAN-2005-2349.patch
diff -u /dev/null SOURCES/zoo-CAN-2005-2349.patch:1.1
--- /dev/null Thu Mar 16 20:47:21 2006
+++ SOURCES/zoo-CAN-2005-2349.patch Thu Mar 16 20:47:16 2006
@@ -0,0 +1,36 @@
+Taken from Fedora
+
+--- portable.c
++++ portable.c
+@@ -364,6 +364,31 @@
+ show_dir(direntry);
+ }
+ #endif
++ char *p;
++ /* take off '../' */
++ while ((p = strstr( direntry->dirname, "../" )) != NULL) {
++ while (*(p+3) != '\0') {
++ *p = *(p + 3);
++ p++;
++ }
++ *p = *(p+3); /* move last null */
++ //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '/' */
++ if ( direntry->dirname[0] == '/' ) {
++ p = direntry->dirname;
++ while (*p != '\0') {
++ *p = *(p + 1);
++ p++;
++ }
++ *p = *(p+1); /* move last null */
++ //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '..' */
++ if(!strcmp(direntry->dirname, ".."))
++ direntry->dirname[0] = '\0';
++ /* direntry->dirlen = strlen(direntry->dirname); */
++
+ return (0);
+ }
+
================================================================
Index: SOURCES/zoo-febz-183426.patch
diff -u /dev/null SOURCES/zoo-febz-183426.patch:1.1
--- /dev/null Thu Mar 16 20:47:21 2006
+++ SOURCES/zoo-febz-183426.patch Thu Mar 16 20:47:16 2006
@@ -0,0 +1,16 @@
+Taken from Fedora
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426
+http://bugs.gentoo.org/125622
+
+--- zoo/parse.c
++++ zoo/parse.c
+@@ -39,7 +39,7 @@
+ char *namep; /* points to relevant part of tempname */
+
+ char *p;
+- strcpy (tempname, fname);
++ strncpy(tempname, fname, LFNAMESIZE);
+
+ #ifdef DEBUG
+ printf ("parse: supplied name is [%s].\n", tempname);
================================================================
Index: SOURCES/zoo-security_pathsize.patch
diff -u /dev/null SOURCES/zoo-security_pathsize.patch:1.1
--- /dev/null Thu Mar 16 20:47:21 2006
+++ SOURCES/zoo-security_pathsize.patch Thu Mar 16 20:47:16 2006
@@ -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);
+ }
+
================================================================
More information about the pld-cvs-commit
mailing list