From: Po Lu Date: Wed, 24 Jul 2024 03:57:28 +0000 (+0800) Subject: Fix NULL pointer dereferences in xpm_load_image X-Git-Tag: archive/raspbian/1%30.1+1-3+rpi1^2~2^2~20^2~638 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=b5543c54bf08c4fa4cae6b7f404a37a2aee60cdf;p=emacs.git Fix NULL pointer dereferences in xpm_load_image * src/image.c (x_destroy_x_image): Correct test condition. (xpm_load_image): Do not release image data if it is still to be created. --- diff --git a/src/image.c b/src/image.c index 5aabb517f30..f869a95c15d 100644 --- a/src/image.c +++ b/src/image.c @@ -3886,7 +3886,7 @@ x_create_x_image_and_pixmap (struct frame *f, int width, int height, int depth, static void x_destroy_x_image (XImage *ximg) { - if (ximg) + if (ximg->data) { xfree (ximg->data); ximg->data = NULL; @@ -6505,9 +6505,12 @@ xpm_load_image (struct frame *f, failure: image_error ("Invalid XPM3 file (%s)", img->spec); - image_destroy_x_image (ximg); - image_destroy_x_image (mask_img); - image_clear_image (f, img); + if (ximg) + { + image_destroy_x_image (ximg); + image_destroy_x_image (mask_img); + image_clear_image (f, img); + } return 0; #undef match