summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2007-05-12 23:53:57 +0000
committerChong Yidong <cyd@stupidchicken.com>2007-05-12 23:53:57 +0000
commitd2dc1adfd017ac815b2aa32cdafebc7c7f594366 (patch)
treec263a34287eb3534a81a53f527678063722572f1
parent96587f7eb9dc1cdc44a02ece91ebbb260d60ba2b (diff)
downloademacs-d2dc1adfd017ac815b2aa32cdafebc7c7f594366.tar.gz
(pbm_load): Correctly check image size for greyscale pbm.
-rw-r--r--src/image.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/image.c b/src/image.c
index b8317b1e982..eacea4a1d97 100644
--- a/src/image.c
+++ b/src/image.c
@@ -5742,9 +5742,13 @@ pbm_load (f, img)
}
else
{
- if (raw_p && (p + 3 * height * width > end))
+ if (raw_p
+ && ((type == PBM_GRAY)
+ ? (p + height * width > end)
+ : (p + 3 * height * width > end)))
{
x_destroy_x_image (ximg);
+ x_clear_image (f, img);
image_error ("Invalid image size in image `%s'",
img->spec, Qnil);
goto error;