Avoid crashes when trying to load bad GIF files
* src/image.c (gif_load): Handle the case when GifErrorString returns NULL. (Bug#43281)
This commit is contained in:
parent
7938713105
commit
366a97c980
1 changed files with 14 additions and 10 deletions
24
src/image.c
24
src/image.c
|
@ -8160,11 +8160,13 @@ gif_load (struct frame *f, struct image *img)
|
|||
if (gif == NULL)
|
||||
{
|
||||
#if HAVE_GIFERRORSTRING
|
||||
image_error ("Cannot open `%s': %s",
|
||||
file, build_string (GifErrorString (gif_err)));
|
||||
#else
|
||||
image_error ("Cannot open `%s'", file);
|
||||
const char *errstr = GifErrorString (gif_err);
|
||||
if (errstr)
|
||||
image_error ("Cannot open `%s': %s", file, build_string (errstr));
|
||||
else
|
||||
#endif
|
||||
image_error ("Cannot open `%s'", file);
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -8190,11 +8192,13 @@ gif_load (struct frame *f, struct image *img)
|
|||
if (!gif)
|
||||
{
|
||||
#if HAVE_GIFERRORSTRING
|
||||
image_error ("Cannot open memory source `%s': %s",
|
||||
img->spec, build_string (GifErrorString (gif_err)));
|
||||
#else
|
||||
image_error ("Cannot open memory source `%s'", img->spec);
|
||||
const char *errstr = GifErrorString (gif_err);
|
||||
if (errstr)
|
||||
image_error ("Cannot open memory source `%s': %s",
|
||||
img->spec, build_string (errstr));
|
||||
else
|
||||
#endif
|
||||
image_error ("Cannot open memory source `%s'", img->spec);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -8474,9 +8478,9 @@ gif_load (struct frame *f, struct image *img)
|
|||
if (error_text)
|
||||
image_error ("Error closing `%s': %s",
|
||||
img->spec, build_string (error_text));
|
||||
#else
|
||||
image_error ("Error closing `%s'", img->spec);
|
||||
else
|
||||
#endif
|
||||
image_error ("Error closing `%s'", img->spec);
|
||||
}
|
||||
|
||||
/* Maybe fill in the background field while we have ximg handy. */
|
||||
|
|
Loading…
Add table
Reference in a new issue