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>
|
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
|
||||||
|
|
||||||
* io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
|
* 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)
|
static gboolean gdk_pixbuf__bmp_image_stop_load(gpointer data, GError **error)
|
||||||
{
|
{
|
||||||
|
gboolean retval = TRUE;
|
||||||
|
|
||||||
struct bmp_progressive_state *context =
|
struct bmp_progressive_state *context =
|
||||||
(struct bmp_progressive_state *) data;
|
(struct bmp_progressive_state *) data;
|
||||||
|
|
||||||
@ -707,10 +709,20 @@ static gboolean gdk_pixbuf__bmp_image_stop_load(gpointer data, GError **error)
|
|||||||
if (context->pixbuf)
|
if (context->pixbuf)
|
||||||
g_object_unref(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->buff);
|
||||||
g_free(context);
|
g_free(context);
|
||||||
|
|
||||||
return TRUE;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user