aboutsummaryrefslogtreecommitdiffstats
path: root/archivers
diff options
context:
space:
mode:
authorjmz <jmz@FreeBSD.org>2006-04-06 15:22:10 +0800
committerjmz <jmz@FreeBSD.org>2006-04-06 15:22:10 +0800
commit13856cde954b5c799476daa28da39b821db54434 (patch)
treeb349381f20c1d063c722ebffca4120cad3f05d7d /archivers
parent4f239fc4d8e5f74a2d1beb6188f450ec87bdad47 (diff)
downloadfreebsd-ports-graphics-13856cde954b5c799476daa28da39b821db54434.tar.gz
freebsd-ports-graphics-13856cde954b5c799476daa28da39b821db54434.tar.zst
freebsd-ports-graphics-13856cde954b5c799476daa28da39b821db54434.zip
Fix an exploitable buffer overflow.
PR: ports/95397 Submitted by: Petr Rehor <prehor@gmail.com>
Diffstat (limited to 'archivers')
-rw-r--r--archivers/zoo/Makefile2
-rw-r--r--archivers/zoo/files/patch-misc.c20
2 files changed, 21 insertions, 1 deletions
diff --git a/archivers/zoo/Makefile b/archivers/zoo/Makefile
index 49a579521ca..59d07c282f5 100644
--- a/archivers/zoo/Makefile
+++ b/archivers/zoo/Makefile
@@ -7,7 +7,7 @@
PORTNAME= zoo
PORTVERSION= 2.10.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= archivers
MASTER_SITES= ftp://ftp.kiarchive.ru/pub/unix/arcers/
DISTNAME= zoo-2.10pl1
diff --git a/archivers/zoo/files/patch-misc.c b/archivers/zoo/files/patch-misc.c
new file mode 100644
index 00000000000..e69a1207fc6
--- /dev/null
+++ b/archivers/zoo/files/patch-misc.c
@@ -0,0 +1,20 @@
+--- misc.c.orig Tue Jul 16 17:52:54 1991
++++ misc.c Thu Apr 6 08:45:41 2006
+@@ -135,11 +135,16 @@
+ char *fullpath (direntry)
+ struct direntry *direntry;
+ {
+- static char result[PATHSIZE];
++ static char result[PATHSIZE+PATHSIZE+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");
++ }
++
+ return (result);
+ }
+