29baf2b6c9
2.2 and the new support for antialiased fonts (using Xft) and UTF-8. I take maintainership of OpenMotif with this update. ok simon@, kurt@, jasper@
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
$OpenBSD: patch-lib_Xm_Xpmparse_c,v 1.2 2007/07/18 21:41:06 mbalmer Exp $
|
|
--- lib/Xm/Xpmparse.c.orig Mon Dec 5 17:31:46 2005
|
|
+++ lib/Xm/Xpmparse.c Sat Jun 30 10:50:09 2007
|
|
@@ -1,4 +1,5 @@
|
|
/* $XConsortium: Xpmparse.c /main/6 1996/09/20 08:15:49 pascale $ */
|
|
+/* $XdotOrg: pre-CVS proposed fix for CESA-2004-003 alanc 7/25/2004 $ */
|
|
/*
|
|
* Copyright (C) 1989-95 GROUPE BULL
|
|
*
|
|
@@ -49,7 +50,7 @@
|
|
#include "XpmI.h"
|
|
#include <ctype.h>
|
|
#include <string.h>
|
|
-
|
|
+
|
|
#ifdef HAS_STRLCAT
|
|
# define STRLCAT(dst, src, dstsize) do { \
|
|
if (strlcat(dst, src, dstsize) >= (dstsize)) \
|
|
@@ -555,6 +556,9 @@ ParsePixels(data, width, height, ncolors, cpp, colorTa
|
|
return (XpmFileInvalid);
|
|
}
|
|
|
|
+ if (ncolors > 256)
|
|
+ return (XpmFileInvalid);
|
|
+
|
|
bzero((char *)colidx, 256 * sizeof(short));
|
|
for (a = 0; a < ncolors; a++)
|
|
colidx[(unsigned char)colorTable[a].string[0]] = a + 1;
|
|
@@ -635,6 +639,9 @@ do \
|
|
{
|
|
char *s;
|
|
char buf[BUFSIZ];
|
|
+
|
|
+ if (cpp >= sizeof(buf))
|
|
+ return (XpmFileInvalid);
|
|
|
|
if (cpp >= sizeof(buf)) {
|
|
XpmFree(iptr2); /* found by Egbert Eich */
|