Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)

* src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
and IMAGE_BACKGROUND_TRANSPARENT.
This commit is contained in:
YAMAMOTO Mitsuharu 2020-01-07 12:32:42 +09:00
parent 16c6dfb4f1
commit 075f21c0e3

View file

@ -1242,6 +1242,10 @@ prepare_image_for_display (struct frame *f, struct image *img)
if (img->cr_data == NULL || (cairo_pattern_get_type (img->cr_data)
!= CAIRO_PATTERN_TYPE_SURFACE))
{
/* Fill in the background/background_transparent field while
we have img->pixmap->data/img->mask->data. */
IMAGE_BACKGROUND (img, f, img->pixmap);
IMAGE_BACKGROUND_TRANSPARENT (img, f, img->mask);
cr_put_image_to_cr_data (img);
if (img->cr_data == NULL)
{