diff options
author | makc <makc@FreeBSD.org> | 2015-03-29 00:48:15 +0800 |
---|---|---|
committer | makc <makc@FreeBSD.org> | 2015-03-29 00:48:15 +0800 |
commit | b8a725039932aa8d2dc2f97ffb5bfca0a43bf917 (patch) | |
tree | 4ac9950d07835c9ec0050853c49e32861246133d /archivers | |
parent | f3c4a64e2dc248023bc35dd617e652649e3059e1 (diff) | |
download | freebsd-ports-gnome-b8a725039932aa8d2dc2f97ffb5bfca0a43bf917.tar.gz freebsd-ports-gnome-b8a725039932aa8d2dc2f97ffb5bfca0a43bf917.tar.zst freebsd-ports-gnome-b8a725039932aa8d2dc2f97ffb5bfca0a43bf917.zip |
archivers/libzip:
- Add patch to fix CVE-2015-2331: ZIP Integer Overflow [1]
- Add CPE
PR: 198913 [1]
Reported by: Sevan Janiyan
Diffstat (limited to 'archivers')
-rw-r--r-- | archivers/libzip/Makefile | 6 | ||||
-rw-r--r-- | archivers/libzip/files/patch-lib_zip__dirent.c | 14 |
2 files changed, 18 insertions, 2 deletions
diff --git a/archivers/libzip/Makefile b/archivers/libzip/Makefile index f63ba7def99c..e0f092292e3a 100644 --- a/archivers/libzip/Makefile +++ b/archivers/libzip/Makefile @@ -3,16 +3,18 @@ PORTNAME= libzip PORTVERSION= 0.11.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= archivers devel MASTER_SITES= http://www.nih.at/libzip/ MAINTAINER= makc@FreeBSD.org COMMENT= C library for reading, creating, and modifying ZIP archives +CPE_VENDOR= nih + GNU_CONFIGURE= yes MAKE_ENV= LC_ALL="C" -USES= libtool pathfix tar:xz +USES= cpe libtool pathfix tar:xz USE_LDCONFIG= yes INSTALL_TARGET= install-strip diff --git a/archivers/libzip/files/patch-lib_zip__dirent.c b/archivers/libzip/files/patch-lib_zip__dirent.c new file mode 100644 index 000000000000..3e67d83b475f --- /dev/null +++ b/archivers/libzip/files/patch-lib_zip__dirent.c @@ -0,0 +1,14 @@ +CVE-2015-2331: ZIP Integer Overflow +Upstream commit: http://hg.nih.at/libzip/rev/9f11d54f692e + +--- lib/zip_dirent.c.orig 2013-11-28 16:57:10 UTC ++++ lib/zip_dirent.c +@@ -110,7 +110,7 @@ _zip_cdir_new(zip_uint64_t nentry, struc + + if (nentry == 0) + cd->entry = NULL; +- else if ((cd->entry=(struct zip_entry *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) { ++ else if ((nentry > SIZE_MAX/sizeof(*(cd->entry))) || (cd->entry=(struct zip_entry *)malloc(sizeof(*(cd->entry))*(size_t)nentry)) == NULL) { + _zip_error_set(error, ZIP_ER_MEMORY, 0); + free(cd); + return NULL; |