]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crash by access to cleared img->pixmap->data/img->mask->data (Bug#38774)
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Tue, 7 Jan 2020 03:32:42 +0000 (12:32 +0900)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Tue, 7 Jan 2020 03:32:42 +0000 (12:32 +0900)
* src/image.c (prepare_image_for_display) [USE_CAIRO]: Call IMAGE_BACKGROUND
and IMAGE_BACKGROUND_TRANSPARENT.

src/image.c

index 5fe0d713e1bd96e0e8b5bf14a4c3a376ca0ae796..e36253b39600617d9424dc2f698a21574655dd05 100644 (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)
            {