[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

senorblanco at chromium.org senorblanco at chromium.org
Thu Apr 8 01:14:50 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 644aa8aad1bf23cef98e71b5a2a96281e17d5186
Author: senorblanco at chromium.org <senorblanco at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jan 19 20:19:12 2010 +0000

    Fix for crash on large TransparencyWin allocation.  The fix is
    to leave m_layerValid false when the allocPixels of
    OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
    attempt to use it.
    
    Reviewed by Dimitri Glazkov.
    
    Will be covered by a new unit test in Chromium's test_shell_tests (when
    this is rolled into Chromium).
    
    https://bugs.webkit.org/show_bug.cgi?id=33844
    
    * platform/graphics/chromium/TransparencyWin.cpp:
    (WebCore::TransparencyWin::initializeNewContext):
    Early return when m_referenceBitmap or its pixels is NULL, leaving
    m_layerValid false.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53480 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a886da5..5b77beb 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-01-19  Stephen White  <senorblanco at chromium.org>
+
+        Reviewed by Dimitri Glazkov.
+
+        Fix for crash on large TransparencyWin allocation.  The fix is
+        to leave m_layerValid false when the allocPixels of
+        OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
+        attempt to use it.
+
+        Will be covered by a new unit test in Chromium's test_shell_tests (when
+        this is rolled into Chromium).
+
+        https://bugs.webkit.org/show_bug.cgi?id=33844
+
+        * platform/graphics/chromium/TransparencyWin.cpp:
+        (WebCore::TransparencyWin::initializeNewContext):
+        Early return when m_referenceBitmap or its pixels is NULL, leaving
+        m_layerValid false.
+
 2010-01-19  Eric Carlson  <eric.carlson at apple.com>
 
         Reviewed by Adam Roben.
diff --git a/WebCore/platform/graphics/chromium/TransparencyWin.cpp b/WebCore/platform/graphics/chromium/TransparencyWin.cpp
index 6dcd595..80df2ec 100644
--- a/WebCore/platform/graphics/chromium/TransparencyWin.cpp
+++ b/WebCore/platform/graphics/chromium/TransparencyWin.cpp
@@ -371,8 +371,11 @@ void TransparencyWin::initializeNewContext()
             return;
 
         m_drawContext = m_layerBuffer->context();
-        if (needReferenceBitmap)
+        if (needReferenceBitmap) {
             m_referenceBitmap = m_ownedBuffers->referenceBitmap();
+            if (!m_referenceBitmap || !m_referenceBitmap->getPixels()) 
+                return;
+        }
         m_validLayer = true;
         return;
     }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list