Bug 41107 - REGRESSION (r61619): Memory corruption in open-source ICO decoder
Summary: REGRESSION (r61619): Memory corruption in open-source ICO decoder
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Images (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other All
: P2 Normal
Assignee: Peter Kasting
URL: http://www.opennet.ru/opennews/art.shtml
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-23 15:16 PDT by Peter Kasting
Modified: 2023-03-03 16:23 PST (History)
8 users (show)

See Also:


Attachments
patch v1 (4.26 KB, patch)
2010-06-23 16:12 PDT, Peter Kasting
abarth: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Kasting 2010-06-23 15:16:08 PDT
REGRESSION (r61619): Memory corruption in open-source ICO decoder
Comment 1 Peter Kasting 2010-06-23 15:19:18 PDT
BMPImageReader.cpp erroneously accesses |m_parent| when setSize() fails.  setSize() has already called setFailed(), which has deleted |this|, thus we shouldn't access |m_parent| (and don't need to).
Comment 2 Peter Kasting 2010-06-23 16:12:16 PDT
Created attachment 59572 [details]
patch v1

Fixes the corruption and one other technically-wrong place I noticed.

This adds a regression .ico to an existing LayoutTest, unfortunately I can't actually update expected results at the moment, so I'm going to need those from somewhere.
Comment 3 Adam Barth 2010-06-24 14:33:53 PDT
Comment on attachment 59572 [details]
patch v1

ok
Comment 4 Peter Kasting 2010-06-24 15:02:21 PDT
Fixed in r61788.  I'll land the updated test expectations once the bots have them.
Comment 5 WebKit Review Bot 2010-06-24 17:26:29 PDT
http://trac.webkit.org/changeset/61800 might have broken SnowLeopard Intel Release (Tests)
Comment 7 Adam Barth 2010-06-24 22:26:43 PDT
Hopefully fixed in http://trac.webkit.org/changeset/61821
Comment 8 Peter Kasting 2010-06-25 12:02:31 PDT
The reason I didn't update GTK is because it matches Chromium rather than Safari and it wasn't clear to me that those two text dumps would be the same.  (And I couldn't get a Chromium dump at the time.)

I'm not lazy!  I was just gone.  I got two other people to help take care of this before I had to go.