diff options
-rw-r--r-- | src/create.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/create.c b/src/create.c index ec562b2..b8c80d2 100644 --- a/src/create.c +++ b/src/create.c @@ -997,6 +997,11 @@ CreateXImage( *image_return = NULL; return XpmNoMemory; } + if (width != 0 && (*image_return)->bits_per_pixel >= INT_MAX / width) { + XDestroyImage(*image_return); + *image_return = NULL; + return XpmNoMemory; + } /* now that bytes_per_line must have been set properly alloc data */ if((*image_return)->bytes_per_line == 0 || height == 0) { XDestroyImage(*image_return); |