After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 636138 - libjpeg error handling broken
libjpeg error handling broken
Status: RESOLVED FIXED
Product: gdk-pixbuf
Classification: Platform
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gdk-pixbuf-maint
gdk-pixbuf-maint
: 645816 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-11-30 15:53 UTC by Craig Schlenter
Modified: 2011-03-30 06:43 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
call sigsetjmp in gdk_pixbuf__jpeg_image_begin_load (692 bytes, patch)
2010-11-30 15:53 UTC, Craig Schlenter
none Details | Review

Description Craig Schlenter 2010-11-30 15:53:56 UTC
Created attachment 175542 [details] [review]
call sigsetjmp in gdk_pixbuf__jpeg_image_begin_load

This is a continuation of https://bugzilla.gnome.org/show_bug.cgi?id=606068

In io-jpeg.c gdk_pixbuf__jpeg_image_begin_load calls jpeg_create_decompress without calling sigsetjmp first. As a result if jpeg_create_decompress fails due to version mismatches, fatal_error_handler will siglongjmp using a buffer that hasn't been initialized properly. This leads to crashes like the one detailed in http://code.google.com/p/chromium/issues/detail?id=30288#c84

The attached patch fixes the problem for me. Please review carefully as my libjpeg skills are essentially non-existant.

Thank you.
Comment 1 Dirk-Jan C. Binnema 2011-03-28 17:09:56 UTC
*** Bug 645816 has been marked as a duplicate of this bug. ***