mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 05:31:07 +00:00
Check for the BMP header magic numbers before decoding it. (#505085)
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl> * io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers before decoding it. (#505085) svn path=/trunk/; revision=19756
This commit is contained in:
parent
c8b617382d
commit
9aa1be5a0d
@ -1,3 +1,8 @@
|
||||
2008-03-11 Claudio Saavedra <csaavedra@alumnos.utalca.cl>
|
||||
|
||||
* io-bmp.c: (DecodeHeader): Check for the BMP header magic numbers
|
||||
before decoding it. (#505085)
|
||||
|
||||
2008-02-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* === Released 2.13.0 ===
|
||||
|
@ -258,6 +258,17 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
|
||||
{
|
||||
gint clrUsed;
|
||||
|
||||
/* First check for the two first bytes content. A sane
|
||||
BMP file must start with bytes 0x42 0x4D. */
|
||||
if (*BFH != 0x42 || *(BFH + 1) != 0x4D) {
|
||||
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;
|
||||
}
|
||||
|
||||
/* FIXME this is totally unrobust against bogus image data. */
|
||||
if (State->BufferSize < lsb_32 (&BIH[0]) + 14) {
|
||||
State->BufferSize = lsb_32 (&BIH[0]) + 14;
|
||||
|
Loading…
Reference in New Issue
Block a user