--- xc/extras/Xpm/lib/scan.c.orig 2005-03-28 15:20:09 +0400 +++ xc/extras/Xpm/lib/scan.c 2005-03-28 15:20:18 +0400 @@ -621,8 +621,8 @@ GetImagePixels(image, width, height, pma char *dst; unsigned int *iptr; char *data; - unsigned int x, y, i; - int bits, depth, ibu, ibpp, offset; + unsigned int x, y; + int bits, depth, ibu, ibpp, offset, i; unsigned long lbt; Pixel pixel, px; @@ -633,6 +633,9 @@ GetImagePixels(image, width, height, pma ibpp = image->bits_per_pixel; offset = image->xoffset; + if (image->bitmap_unit < 0) + return (XpmNoMemory); + if ((image->bits_per_pixel | image->depth) == 1) { ibu = image->bitmap_unit; for (y = 0; y < height; y++) --- xc/extras/Xpm/lib/create.c.orig 2005-03-28 15:20:09 +0400 +++ xc/extras/Xpm/lib/create.c 2005-03-28 15:20:18 +0400 @@ -1218,10 +1218,10 @@ PutImagePixels(image, width, height, pix register char *src; register char *dst; register unsigned int *iptr; - register unsigned int x, y, i; + register unsigned int x, y; register char *data; Pixel pixel, px; - int nbytes, depth, ibu, ibpp; + int nbytes, depth, ibu, ibpp, i; data = image->data; iptr = pixelindex;