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