mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 22:10:08 +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>
|
2008-02-16 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* === Released 2.13.0 ===
|
* === Released 2.13.0 ===
|
||||||
|
@ -258,6 +258,17 @@ static gboolean DecodeHeader(unsigned char *BFH, unsigned char *BIH,
|
|||||||
{
|
{
|
||||||
gint clrUsed;
|
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. */
|
/* FIXME this is totally unrobust against bogus image data. */
|
||||||
if (State->BufferSize < lsb_32 (&BIH[0]) + 14) {
|
if (State->BufferSize < lsb_32 (&BIH[0]) + 14) {
|
||||||
State->BufferSize = lsb_32 (&BIH[0]) + 14;
|
State->BufferSize = lsb_32 (&BIH[0]) + 14;
|
||||||
|
Loading…
Reference in New Issue
Block a user