fix issues with the GIF and XPM parsers that could allow a remote attacker to cause a

DoS via a malformed image file that triggers a null dereference.

CAN-2004-0692, CAN-2004-0693
This commit is contained in:
brad 2004-09-20 20:05:51 +00:00
parent 1f2b8ae4df
commit ba808d3753
3 changed files with 28 additions and 3 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.37 2004/09/15 19:25:12 espie Exp $
# $OpenBSD: Makefile,v 1.38 2004/09/20 20:05:51 brad Exp $
# $FreeBSD: Makefile,v 1.33 1999/02/27 03:09:57 andreas Exp $
COMMENT= "C++ X11 GUI toolkit"
@ -8,7 +8,7 @@ COMMENT-postgresql= "PostgresSQL plugin for qt3"
COMMENT-mysql= "MySQL plugin for qt3"
COMMENT-base= "include and docs for qt3"
PKGNAME= qt3-${VERSION}
PKGNAME= qt3-${VERSION}p1
PKGNAME-mysql= qt3-mysql-${VERSION}
PKGNAME-postgresql= qt3-postgresql-${VERSION}
PKGNAME-examples= qt3-examples-${VERSION}
@ -67,7 +67,7 @@ PKGDEBUG=
.endif
.if ${FLAVOR:L:Mmt}
FULLPKGNAME= qt3-mt-${VERSION}${PKGDEBUG}
FULLPKGNAME= qt3-mt-${VERSION}p1${PKGDEBUG}
CONFIGURE_ARGS+=-thread
.else
CONFIGURE_ARGS+=-no-thread

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-src_kernel_qasyncimageio_cpp,v 1.3 2004/09/20 20:05:51 brad Exp $
--- src/kernel/qasyncimageio.cpp.orig Sun Sep 19 21:01:58 2004
+++ src/kernel/qasyncimageio.cpp Sun Sep 19 21:03:34 2004
@@ -1107,7 +1107,7 @@ int QGIFFormat::decode(QImage& img, QIma
oldcode=incode;
while (sp>stack) {
--sp;
- if (!out_of_bounds && *sp!=trans_index)
+ if (!out_of_bounds && line && *sp!=trans_index)
line[y][x] = color(*sp);
x++;
if (x>=swidth) out_of_bounds = TRUE;

View File

@ -0,0 +1,13 @@
$OpenBSD: patch-src_kernel_qimage_cpp,v 1.3 2004/09/20 20:05:51 brad Exp $
--- src/kernel/qimage.cpp.orig Sun Sep 19 20:58:07 2004
+++ src/kernel/qimage.cpp Sun Sep 19 21:01:10 2004
@@ -5723,6 +5723,9 @@ static void read_xpm_image_or_array( QIm
image.create( w, h, 8, ncols );
}
+ if (image.isNull())
+ return;
+
QMap<QString, int> colorMap;
int currentColor;