diff options
author | 2006-03-10 00:37:37 +0000 | |
---|---|---|
committer | 2006-03-10 00:37:37 +0000 | |
commit | e185db21bd83f40a1da6a766cb6cf2f6e8d6156f (patch) | |
tree | 8e414a7c48bb878061be94e671e5867f2de18b8a /app-arch/zoo/files | |
parent | Mark 1.4.0 stable on ia64 (diff) | |
download | historical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.tar.gz historical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.tar.bz2 historical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.zip |
Grab a bunch of patches from Fedora and cleanup the sources more.
Package-Manager: portage-2.1_pre5-r4
Diffstat (limited to 'app-arch/zoo/files')
-rw-r--r-- | app-arch/zoo/files/digest-zoo-2.10-r2 | 6 | ||||
-rw-r--r-- | app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch | 36 | ||||
-rw-r--r-- | app-arch/zoo/files/zoo-2.10-febz-183426.patch | 16 | ||||
-rw-r--r-- | app-arch/zoo/files/zoo-2.10-security_pathsize.patch | 23 |
4 files changed, 81 insertions, 0 deletions
diff --git a/app-arch/zoo/files/digest-zoo-2.10-r2 b/app-arch/zoo/files/digest-zoo-2.10-r2 new file mode 100644 index 000000000000..f0934af7ed78 --- /dev/null +++ b/app-arch/zoo/files/digest-zoo-2.10-r2 @@ -0,0 +1,6 @@ +MD5 5de8e6d16ab168ef2f4e8db412068054 zoo-2.10-gcc-issues-fix.patch 19467 +RMD160 c58595ae3d5744b0d8dc38b6b0e1c66c370dd086 zoo-2.10-gcc-issues-fix.patch 19467 +SHA256 0215efd7aa218048f5f8bc085810f89cad6a9f710234f0d0e93be959a02f582b zoo-2.10-gcc-issues-fix.patch 19467 +MD5 70a0a785ecc8f7f747be1421e495d837 zoo-2.10pl1.tar.gz 172096 +RMD160 971d388b8cb29def1e4e31011463563e91c3d700 zoo-2.10pl1.tar.gz 172096 +SHA256 ad8d8fee5e524aca0e1e9a1e431c21cd59943d8373d5dffe4edca03a7e4284f4 zoo-2.10pl1.tar.gz 172096 diff --git a/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch new file mode 100644 index 000000000000..3752728c8e5a --- /dev/null +++ b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch @@ -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); + } + diff --git a/app-arch/zoo/files/zoo-2.10-febz-183426.patch b/app-arch/zoo/files/zoo-2.10-febz-183426.patch new file mode 100644 index 000000000000..d8e34d628094 --- /dev/null +++ b/app-arch/zoo/files/zoo-2.10-febz-183426.patch @@ -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); 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); + } + |