From 7c59491ce4a423bc8706eaf55a7c803216ccdf2b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 12 Mar 2002 19:49:03 +0000 Subject: [PATCH] Replace a g_assert_not_reached () which could actually be reached by a * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached () which could actually be reached by a proper error status return. --- gdk-pixbuf/ChangeLog | 5 +++++ gdk-pixbuf/io-bmp.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gdk-pixbuf/ChangeLog b/gdk-pixbuf/ChangeLog index ef78d72341..09a0954a72 100644 --- a/gdk-pixbuf/ChangeLog +++ b/gdk-pixbuf/ChangeLog @@ -1,3 +1,8 @@ +2002-03-12 Matthias Clasen + + * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached () + which could actually be reached by a proper error status return. + 2002-03-05 Matthias Clasen * test-loaders.c, test-images.h: More random tests. diff --git a/gdk-pixbuf/io-bmp.c b/gdk-pixbuf/io-bmp.c index 7f7c2d1ddf..b8f9ee2bb0 100644 --- a/gdk-pixbuf/io-bmp.c +++ b/gdk-pixbuf/io-bmp.c @@ -375,8 +375,14 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH, } else if (State->Compressed == BI_BITFIELDS) { State->read_state = READ_STATE_BITMASKS; State->BufferSize = 12; - } else - g_assert_not_reached (); + } else { + g_set_error (error, + GDK_PIXBUF_ERROR, + GDK_PIXBUF_ERROR_CORRUPT_IMAGE, + _("BMP image has bogus header data")); + State->read_state = READ_STATE_ERROR; + return FALSE; + } State->buff = g_realloc (State->buff, State->BufferSize);