GNOME Bugzilla – Bug 84292
BMP decoder tries to do unaligned memory reads leading to bus error
Last modified: 2010-07-10 04:04:06 UTC
0xfe9f09ec in DecodeHeader (BFH=0xcdd20 "BM8\f", BIH=0xcdd2e "(", State=0xf9f88) at io-bmp.c:236 236 if (State->BufferSize < GUINT32_FROM_LE (* (guint32 *) &BIH[0]) + 14) {
+ Trace 23379
context->buff + 14 ( == BIH) becomes word aligned and then cast to a guint32 and dereferenced as that leading to a bus error due to guint32*'s should be aligned on 32bit, not 16... This leads to gdk-pixbuf crashes on all BMP images on Sparcs. I made a test case in gimp: new image, default values, save. gqview crashes inside gdkpixbuf (io-bmp.c).
*** This bug has been marked as a duplicate of 84083 ***