forked from AuroraMiddleware/gtk
Set a GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while still
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl> * io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while still reading the headers. (#505085) svn path=/trunk/; revision=19757
This commit is contained in:
parent
9aa1be5a0d
commit
d1639c8730
@ -1,3 +1,9 @@
|
||||
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
|
||||
|
||||
* io-bmp.c: (gdk_pixbuf__bmp_image_stop_load): Set a
|
||||
GDK_ERROR_CORRUPT_IMAGE error if the loader is closed while
|
||||
still reading the headers. (#505085)
|
||||
|
||||
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
|
||||
|
||||
* io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
|
||||
|
@ -693,6 +693,8 @@ gdk_pixbuf__bmp_image_begin_load(GdkPixbufModuleSizeFunc size_func,
|
||||
*/
|
||||
static gboolean gdk_pixbuf__bmp_image_stop_load(gpointer data, GError **error)
|
||||
{
|
||||
gboolean retval = TRUE;
|
||||
|
||||
struct bmp_progressive_state *context =
|
||||
(struct bmp_progressive_state *) data;
|
||||
|
||||
@ -707,10 +709,20 @@ static gboolean gdk_pixbuf__bmp_image_stop_load(gpointer data, GError **error)
|
||||
if (context->pixbuf)
|
||||
g_object_unref(context->pixbuf);
|
||||
|
||||
if (context->read_state == READ_STATE_HEADERS) {
|
||||
if (error && *error == NULL) {
|
||||
g_set_error (error,
|
||||
GDK_PIXBUF_ERROR,
|
||||
GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
|
||||
_("Premature end-of-file encountered"));
|
||||
}
|
||||
retval = FALSE;
|
||||
}
|
||||
|
||||
g_free(context->buff);
|
||||
g_free(context);
|
||||
|
||||
return TRUE;
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user