diff options
| author | Paul Eggert | 2011-06-10 12:52:27 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-06-10 12:52:27 -0700 |
| commit | f7e13da36c982977ccfe6de1e43d8f8b3bb59c8f (patch) | |
| tree | 491627511a80c3f57a0f62e2958a8a4d5776a506 /src | |
| parent | 46a4ce9efbb12a47ca2cb756b271de06180923cd (diff) | |
| download | emacs-f7e13da36c982977ccfe6de1e43d8f8b3bb59c8f.tar.gz emacs-f7e13da36c982977ccfe6de1e43d8f8b3bb59c8f.zip | |
* image.c (imagemagick_load_image): Don't use garbage pointer image_wand.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 1 | ||||
| -rw-r--r-- | src/image.c | 18 |
2 files changed, 8 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 60669c3719c..b0a3606ee5a 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | Remove unused locals. Remove locals to avoid shadowing. | 17 | Remove unused locals. Remove locals to avoid shadowing. |
| 18 | (fn_rsvg_handle_free): Remove; unused. | 18 | (fn_rsvg_handle_free): Remove; unused. |
| 19 | (svg_load, svg_load_image): Fix pointer signedness problem. | 19 | (svg_load, svg_load_image): Fix pointer signedness problem. |
| 20 | (imagemagick_load_image): Don't use garbage pointer image_wand. | ||
| 20 | 21 | ||
| 21 | * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. | 22 | * ftfont.c (ftfont_get_metrics, ftfont_drive_otf): Remove unused locals. |
| 22 | 23 | ||
diff --git a/src/image.c b/src/image.c index 8fec98f2818..3d1724492a0 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -7550,23 +7550,18 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7550 | im_image = ReadImage (image_info, exception); | 7550 | im_image = ReadImage (image_info, exception); |
| 7551 | DestroyExceptionInfo (exception); | 7551 | DestroyExceptionInfo (exception); |
| 7552 | 7552 | ||
| 7553 | if (im_image != NULL) | 7553 | if (im_image == NULL) |
| 7554 | { | 7554 | goto imagemagick_no_wand; |
| 7555 | image_wand = NewMagickWandFromImage (im_image); | 7555 | image_wand = NewMagickWandFromImage (im_image); |
| 7556 | DestroyImage(im_image); | 7556 | DestroyImage(im_image); |
| 7557 | status = MagickTrue; | ||
| 7558 | } | ||
| 7559 | else | ||
| 7560 | status = MagickFalse; | ||
| 7561 | } | 7557 | } |
| 7562 | else | 7558 | else |
| 7563 | { | 7559 | { |
| 7564 | image_wand = NewMagickWand (); | 7560 | image_wand = NewMagickWand (); |
| 7565 | status = MagickReadImageBlob (image_wand, contents, size); | 7561 | if (MagickReadImageBlob (image_wand, contents, size) == MagickFalse) |
| 7562 | goto imagemagick_error; | ||
| 7566 | } | 7563 | } |
| 7567 | 7564 | ||
| 7568 | if (status == MagickFalse) goto imagemagick_error; | ||
| 7569 | |||
| 7570 | /* If width and/or height is set in the display spec assume we want | 7565 | /* If width and/or height is set in the display spec assume we want |
| 7571 | to scale to those values. If either h or w is unspecified, the | 7566 | to scale to those values. If either h or w is unspecified, the |
| 7572 | unspecified should be calculated from the specified to preserve | 7567 | unspecified should be calculated from the specified to preserve |
| @@ -7794,6 +7789,7 @@ imagemagick_load_image (struct frame *f, struct image *img, | |||
| 7794 | 7789 | ||
| 7795 | imagemagick_error: | 7790 | imagemagick_error: |
| 7796 | DestroyMagickWand (image_wand); | 7791 | DestroyMagickWand (image_wand); |
| 7792 | imagemagick_no_wand: | ||
| 7797 | MagickWandTerminus (); | 7793 | MagickWandTerminus (); |
| 7798 | /* TODO more cleanup. */ | 7794 | /* TODO more cleanup. */ |
| 7799 | image_error ("Error parsing IMAGEMAGICK image `%s'", img->spec, Qnil); | 7795 | image_error ("Error parsing IMAGEMAGICK image `%s'", img->spec, Qnil); |