summaryrefslogtreecommitdiff
path: root/graphics/xpm/files/patch-security-1
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/xpm/files/patch-security-1')
-rw-r--r--graphics/xpm/files/patch-security-1193
1 files changed, 0 insertions, 193 deletions
diff --git a/graphics/xpm/files/patch-security-1 b/graphics/xpm/files/patch-security-1
deleted file mode 100644
index 29764dc0ceed..000000000000
--- a/graphics/xpm/files/patch-security-1
+++ /dev/null
@@ -1,193 +0,0 @@
-diff -ruN lib/Attrib.c xpm-3.4k/lib/Attrib.c
---- lib/Attrib.c Thu Oct 21 11:22:53 2004
-+++ xpm-3.4k/lib/Attrib.c Thu Oct 21 11:25:18 2004
-@@ -52,6 +52,8 @@
- XpmColor **colorTable, **color;
- int a;
-
-+ if (ncolors > INT_MAX/sizeof(XpmColor *))
-+ return (XpmNoMemory);
- colorTable = (XpmColor **) XpmMalloc(ncolors * sizeof(XpmColor *));
- if (!colorTable) {
- *oldct = NULL;
-diff -ruN lib/CrDatFrI.c xpm-3.4k/lib/CrDatFrI.c
---- lib/CrDatFrI.c Thu Oct 21 11:22:53 2004
-+++ xpm-3.4k/lib/CrDatFrI.c Thu Oct 21 11:26:32 2004
-@@ -123,6 +123,8 @@
- */
- header_nlines = 1 + image->ncolors;
- header_size = sizeof(char *) * header_nlines;
-+ if (header_size > INT_MAX/sizeof(char *))
-+ return (XpmNoMemory);
- header = (char **) XpmCalloc(header_size, sizeof(char *));
- if (!header)
- return (XpmNoMemory);
-diff -ruN lib/XpmI.h xpm-3.4k/lib/XpmI.h
---- lib/XpmI.h Thu Oct 21 11:22:54 2004
-+++ xpm-3.4k/lib/XpmI.h Thu Oct 21 11:24:23 2004
-@@ -48,6 +48,7 @@
- * lets try to solve include files
- */
-
-+#include <limits.h>
- #include <stdio.h>
- #include <stdlib.h>
- /* stdio.h doesn't declare popen on a Sequent DYNIX OS */
-diff -ruN lib/create.c xpm-3.4k/lib/create.c
---- lib/create.c Thu Oct 21 11:22:53 2004
-+++ xpm-3.4k/lib/create.c Thu Oct 21 12:06:56 2004
-@@ -820,6 +820,8 @@
- ErrorStatus = XpmSuccess;
-
- /* malloc pixels index tables */
-+ if (image->ncolors > INT_MAX/sizeof(Pixel))
-+ return (XpmNoMemory);
- image_pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * image->ncolors);
- if (!image_pixels)
- return (XpmNoMemory);
-@@ -992,6 +994,10 @@
-
- #if !defined(FOR_MSW) && !defined(AMIGA)
- /* now that bytes_per_line must have been set properly alloc data */
-+ if (height != 0 && (*image_return)->bytes_per_line > INT_MAX/height) {
-+ XDestroyImage(*image_return);
-+ return (XpmNoMemory);
-+ }
- (*image_return)->data =
- (char *) XpmMalloc((*image_return)->bytes_per_line * height);
-
-@@ -2063,6 +2069,8 @@
- xpmGetCmt(data, &colors_cmt);
-
- /* malloc pixels index tables */
-+ if (ncolors > INT_MAX/sizeof(Pixel))
-+ RETURN(XpmNoMemory);
- image_pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * ncolors);
- if (!image_pixels)
- RETURN(XpmNoMemory);
-@@ -2364,7 +2372,7 @@
-
- /* array of pointers malloced by need */
- unsigned short *cidx[256];
-- int char1;
-+ unsigned int char1;
-
- bzero((char *)cidx, 256 * sizeof(unsigned short *)); /* init */
- for (a = 0; a < ncolors; a++) {
-diff -ruN lib/hashtab.c xpm-3.4k/lib/hashtab.c
---- lib/hashtab.c Thu Oct 21 11:22:54 2004
-+++ xpm-3.4k/lib/hashtab.c Thu Oct 21 12:08:24 2004
-@@ -144,6 +144,8 @@
- HASH_TABLE_GROWS
- table->size = size;
- table->limit = size / 3;
-+ if (size > INT_MAX/sizeof(*atomTable))
-+ return (XpmNoMemory);
- atomTable = (xpmHashAtom *) XpmMalloc(size * sizeof(*atomTable));
- if (!atomTable)
- return (XpmNoMemory);
-@@ -204,6 +206,8 @@
- table->size = INITIAL_HASH_SIZE;
- table->limit = table->size / 3;
- table->used = 0;
-+ if (table->size > INT_MAX/sizeof(*atomTable))
-+ return (XpmNoMemory);
- atomTable = (xpmHashAtom *) XpmMalloc(table->size * sizeof(*atomTable));
- if (!atomTable)
- return (XpmNoMemory);
-diff -ruN lib/parse.c xpm-3.4k/lib/parse.c
---- lib/parse.c Thu Oct 21 11:22:54 2004
-+++ xpm-3.4k/lib/parse.c Thu Oct 21 13:01:11 2004
-@@ -183,6 +183,8 @@
- char **defaults;
- int ErrorStatus;
-
-+ if (ncolors > INT_MAX/sizeof(XpmColor))
-+ return (XpmNoMemory);
- colorTable = (XpmColor *) XpmCalloc(ncolors, sizeof(XpmColor));
- if (!colorTable)
- return (XpmNoMemory);
-@@ -194,6 +196,8 @@
- /*
- * read pixel value
- */
-+ if (cpp > INT_MAX-1)
-+ return (XpmNoMemory);
- color->string = (char *) XpmMalloc(cpp + 1);
- if (!color->string) {
- xpmFreeColorTable(colorTable, ncolors);
-@@ -276,6 +280,8 @@
- /*
- * read pixel value
- */
-+ if (cpp > INT_MAX-1)
-+ return (XpmNoMemory);
- color->string = (char *) XpmMalloc(cpp + 1);
- if (!color->string) {
- xpmFreeColorTable(colorTable, ncolors);
-@@ -338,6 +344,8 @@
- unsigned int *iptr, *iptr2;
- unsigned int a, x, y;
-
-+ if (height != 0 && width > INT_MAX/sizeof(unsigned int))
-+ return (XpmNoMemory);
- #ifndef FOR_MSW
- iptr2 = (unsigned int *) XpmMalloc(sizeof(unsigned int) * width * height);
- #else
-@@ -391,7 +399,7 @@
-
- /* array of pointers malloced by need */
- unsigned short *cidx[256];
-- int char1;
-+ unsigned int char1;
-
- bzero((char *)cidx, 256 * sizeof(unsigned short *)); /* init */
- for (a = 0; a < ncolors; a++) {
-diff -ruN lib/scan.c xpm-3.4k/lib/scan.c
---- lib/scan.c Thu Oct 21 11:22:54 2004
-+++ xpm-3.4k/lib/scan.c Thu Oct 21 13:19:05 2004
-@@ -228,11 +228,16 @@
- else
- cpp = 0;
-
-+ if ((height != 0 && width > INT_MAX/height) ||
-+ (width*height > INT_MAX/sizeof(unsigned int)))
-+ RETURN(XpmNoMemory);
- pmap.pixelindex =
- (unsigned int *) XpmCalloc(width * height, sizeof(unsigned int));
- if (!pmap.pixelindex)
- RETURN(XpmNoMemory);
-
-+ if (pmap.size > INT_MAX/sizeof(Pixel))
-+ RETURN(XpmNoMemory);
- pmap.pixels = (Pixel *) XpmMalloc(sizeof(Pixel) * pmap.size);
- if (!pmap.pixels)
- RETURN(XpmNoMemory);
-@@ -297,7 +302,8 @@
- * get rgb values and a string of char, and possibly a name for each
- * color
- */
--
-+ if (pmap.ncolors > INT_MAX/sizeof(XpmColor))
-+ RETURN(XpmNoMemory);
- colorTable = (XpmColor *) XpmCalloc(pmap.ncolors, sizeof(XpmColor));
- if (!colorTable)
- RETURN(XpmNoMemory);
-@@ -356,6 +362,8 @@
-
- /* first get a character string */
- a = 0;
-+ if (cpp > INT_MAX-1)
-+ return (XpmNoMemory);
- if (!(s = color->string = (char *) XpmMalloc(cpp + 1)))
- return (XpmNoMemory);
- *s++ = printable[c = a % MAXPRINTABLE];
-@@ -447,6 +455,8 @@
- }
-
- /* first get character strings and rgb values */
-+ if (ncolors > INT_MAX/sizeof(XColor) || cpp > INT_MAX-1)
-+ return (XpmNoMemory);
- xcolors = (XColor *) XpmMalloc(sizeof(XColor) * ncolors);
- if (!xcolors)
- return (XpmNoMemory);