app-arch/rzip: Revbump for CVE-2017-8364
authorDavid Seifert <soap@gentoo.org>
Fri, 29 Dec 2017 12:45:49 +0000 (13:45 +0100)
committerDavid Seifert <soap@gentoo.org>
Fri, 29 Dec 2017 13:16:33 +0000 (14:16 +0100)
Bug: https://bugs.gentoo.org/618020
Package-Manager: Portage-2.3.19, Repoman-2.3.6

app-arch/rzip/files/rzip-2.1-CVE-2017-8364.patch [new file with mode: 0644]
app-arch/rzip/rzip-2.1-r3.ebuild [moved from app-arch/rzip/rzip-2.1-r2.ebuild with 91% similarity]

diff --git a/app-arch/rzip/files/rzip-2.1-CVE-2017-8364.patch b/app-arch/rzip/files/rzip-2.1-CVE-2017-8364.patch
new file mode 100644 (file)
index 0000000..3c65e6f
--- /dev/null
@@ -0,0 +1,33 @@
+Index: rzip-2.1/stream.c
+===================================================================
+--- rzip-2.1.orig/stream.c
++++ rzip-2.1/stream.c
+@@ -147,16 +147,16 @@ static int write_u32(int f, u32 v)
+       return 0;
+ }
+-static int read_buf(int f, uchar *p, int len)
++static int read_buf(int f, uchar *p, unsigned int len)
+ {
+       int ret;
+       ret = read(f, p, len);
+       if (ret == -1) {
+-              err_msg("Read of length %d failed - %s\n", len, strerror(errno));
++              err_msg("Read of length %u failed - %s\n", len, strerror(errno));
+               return -1;
+       }
+       if (ret != len) {
+-              err_msg("Partial read!? asked for %d bytes but got %d\n", len, ret);
++              err_msg("Partial read!? asked for %u bytes but got %d\n", len, ret);
+               return -1;
+       }
+       return 0;
+@@ -399,7 +399,7 @@ static int fill_buffer(struct stream_inf
+       if (sinfo->s[stream].buf) {
+               free(sinfo->s[stream].buf);
+       }
+-      sinfo->s[stream].buf = malloc(u_len);
++      sinfo->s[stream].buf = malloc(c_len > u_len ? c_len : u_len);
+       if (!sinfo->s[stream].buf) {
+               return -1;
+       }
similarity index 91%
rename from app-arch/rzip/rzip-2.1-r2.ebuild
rename to app-arch/rzip/rzip-2.1-r3.ebuild
index 75233dfea4579a2d83832cea5be8057aca9def0c..915c6deeef2b5d231ad1c59ce5be911b4e849c5d 100644 (file)
@@ -17,7 +17,10 @@ IUSE=""
 RDEPEND="app-arch/bzip2:="
 DEPEND="${DEPEND}"
 
-PATCHES=( "${FILESDIR}"/${PN}-2.1-darwin.patch )
+PATCHES=(
+       "${FILESDIR}"/${PN}-2.1-darwin.patch
+       "${FILESDIR}"/${PN}-2.1-CVE-2017-8364.patch
+)
 
 src_prepare() {
        default