Bug 48955 - CG use of WebKit image decoders crashes on some animated GIFs
Summary: CG use of WebKit image decoders crashes on some animated GIFs
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: Adam Barth
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-03 14:39 PDT by Adam Barth
Modified: 2010-11-03 16:58 PDT (History)
3 users (show)

See Also:


Attachments
Patch (179.58 KB, patch)
2010-11-03 14:43 PDT, Adam Barth
no flags Details | Formatted Diff | Diff
Patch for landing (179.70 KB, patch)
2010-11-03 15:11 PDT, Adam Barth
abarth: commit-queue+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Barth 2010-11-03 14:39:31 PDT
CG use of WebKit image decoders crashes on some animated GIFs
Comment 1 Adam Barth 2010-11-03 14:43:42 PDT
Created attachment 72873 [details]
Patch
Comment 2 Eric Seidel (no email) 2010-11-03 14:56:38 PDT
Comment on attachment 72873 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=72873&action=review

Please consider making a helper function.

> WebCore/platform/image-decoders/cg/ImageDecoderCG.cpp:38
> +    m_bytes = m_backingStore ? reinterpret_cast<PixelData*>(CFDataGetMutableBytePtr(m_backingStore.get())) : 0;

What about a backingStoreAsBytes() method?  Seems this is a lot of code to copy/paste.
Comment 3 Adam Barth 2010-11-03 14:58:59 PDT
Comment on attachment 72873 [details]
Patch

Maybe I should call it CFDataGetMutableBytePtr.  :)
Comment 4 Adam Barth 2010-11-03 15:11:37 PDT
Created attachment 72876 [details]
Patch for landing
Comment 5 Adam Barth 2010-11-03 15:58:48 PDT
Committed r71277: <http://trac.webkit.org/changeset/71277>
Comment 6 WebKit Review Bot 2010-11-03 16:28:10 PDT
http://trac.webkit.org/changeset/71277 might have broken Qt Linux Release
The following tests are not passing:
svg/in-html/by-reference.html
svg/in-html/circle.html
svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
svg/text/foreignObject-text-clipping-bug.xml
svg/text/selection-background-color.xhtml
svg/text/selection-styles.xhtml
svg/zoom/page/zoom-coords-viewattr-01-b.svg
svg/zoom/page/zoom-hixie-mixed-008.xml
svg/zoom/page/zoom-hixie-mixed-009.xml
svg/zoom/page/zoom-hixie-rendering-model-004.xhtml
svg/zoom/page/zoom-svg-float-border-padding.xml
Comment 7 Adam Barth 2010-11-03 16:58:01 PDT
These tests were failing both before and after this patch.  They blinked "pass" on the run before this one, so they got blamed on this patch, as far as I can tell.