summaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
authorjmz <jmz@FreeBSD.org>2005-11-12 13:09:06 +0000
committerjmz <jmz@FreeBSD.org>2005-11-12 13:09:06 +0000
commitd49dac1bdb1752953ef0ed2a5ffa555659f9cd08 (patch)
tree1fa27b1f7163d3e3691819edd37e7f9030126dd2 /archivers
parent08bc0665e4c5df2bdd7a7a452d7a98349a68895d (diff)
downloadFreeBSD-ports-d49dac1bdb1752953ef0ed2a5ffa555659f9cd08.zip
FreeBSD-ports-d49dac1bdb1752953ef0ed2a5ffa555659f9cd08.tar.gz
Fix a bug that causes it to loop on some ill-formed archives.
Submitted by: Derek M Jones <derek@knosof.co.uk>
Diffstat (limited to 'archivers')
-rw-r--r--archivers/zoo/Makefile1
-rw-r--r--archivers/zoo/files/patch-zooext.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/archivers/zoo/Makefile b/archivers/zoo/Makefile
index 55ecfa9..49a5795 100644
--- a/archivers/zoo/Makefile
+++ b/archivers/zoo/Makefile
@@ -7,6 +7,7 @@
PORTNAME= zoo
PORTVERSION= 2.10.1
+PORTREVISION= 1
CATEGORIES= archivers
MASTER_SITES= ftp://ftp.kiarchive.ru/pub/unix/arcers/
DISTNAME= zoo-2.10pl1
diff --git a/archivers/zoo/files/patch-zooext.c b/archivers/zoo/files/patch-zooext.c
new file mode 100644
index 0000000..51217b8
--- /dev/null
+++ b/archivers/zoo/files/patch-zooext.c
@@ -0,0 +1,12 @@
+--- zooext.c~ Sat May 1 05:58:50 1993
++++ zooext.c Sat Nov 12 14:04:17 2005
+@@ -184,7 +184,8 @@
+ this_file = STDOUT; /* standard output */
+
+ while (1) {
+- frd_dir (&direntry, zoo_file);
++ if (frd_dir (&direntry, zoo_file) < 0)
++ prterror('f', bad_directory);
+ if (direntry.zoo_tag != ZOO_TAG) {
+ long currpos, zoolength;
+ prterror ('F', invalid_header);
OpenPOWER on IntegriCloud