aboutsummaryrefslogtreecommitdiffstats
path: root/print/cups-base
diff options
context:
space:
mode:
authordinoex <dinoex@FreeBSD.org>2008-11-28 15:33:34 +0800
committerdinoex <dinoex@FreeBSD.org>2008-11-28 15:33:34 +0800
commitd9e2bc32e771a5d27629c413882ea434f4b66024 (patch)
tree3752e6fc7928892efd360c1e9f59f9598f9a86aa /print/cups-base
parent36e5a592c5bab4a46ad1b4f45bfaf668e373a30c (diff)
downloadfreebsd-ports-gnome-d9e2bc32e771a5d27629c413882ea434f4b66024.tar.gz
freebsd-ports-gnome-d9e2bc32e771a5d27629c413882ea434f4b66024.tar.zst
freebsd-ports-gnome-d9e2bc32e771a5d27629c413882ea434f4b66024.zip
- Fix integer overflow in PNG validation
Security: http://www.cups.org/str.php?L2974 PR: 129193
Diffstat (limited to 'print/cups-base')
-rw-r--r--print/cups-base/Makefile2
-rw-r--r--print/cups-base/files/patch-str297427
2 files changed, 28 insertions, 1 deletions
diff --git a/print/cups-base/Makefile b/print/cups-base/Makefile
index edea3b20aaab..05190a65ad5c 100644
--- a/print/cups-base/Makefile
+++ b/print/cups-base/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cups
PORTVERSION= 1.3.9
-PORTREVISION= 1
+PORTREVISION= 2
DISTVERSIONSUFFIX= -source
CATEGORIES= print
MASTER_SITES= EASYSW/${PORTNAME}/${DISTVERSION}
diff --git a/print/cups-base/files/patch-str2974 b/print/cups-base/files/patch-str2974
new file mode 100644
index 000000000000..f407d5543387
--- /dev/null
+++ b/print/cups-base/files/patch-str2974
@@ -0,0 +1,27 @@
+Fix for the buffer overflow in the PNG reading code
+
+See: http://www.cups.org/str.php?L2974
+Obtained from: http://www.cups.org/strfiles/2974/str2974.patch
+
+Index: filter/image-png.c
+===================================================================
+--- filter/image-png.c (revision 8062)
++++ filter/image-png.c (working copy)
+@@ -178,7 +178,7 @@
+ {
+ bufsize = img->xsize * img->ysize;
+
+- if ((bufsize / img->ysize) != img->xsize)
++ if ((bufsize / img->xsize) != img->ysize)
+ {
+ fprintf(stderr, "DEBUG: PNG image dimensions (%ux%u) too large!\n",
+ (unsigned)width, (unsigned)height);
+@@ -190,7 +190,7 @@
+ {
+ bufsize = img->xsize * img->ysize * 3;
+
+- if ((bufsize / (img->ysize * 3)) != img->xsize)
++ if ((bufsize / (img->xsize * 3)) != img->ysize)
+ {
+ fprintf(stderr, "DEBUG: PNG image dimensions (%ux%u) too large!\n",
+ (unsigned)width, (unsigned)height);