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

ap at apple.com ap at apple.com
Thu Apr 8 00:24:14 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 1cad32919395e21049fdabd76bfb3fc49a651df9
Author: ap at apple.com <ap at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Mon Dec 7 21:05:39 2009 +0000

            Reviewed by Nikolas Zimmermann.
    
            https://bugs.webkit.org/show_bug.cgi?id=32226
            Random crashes in WebSocket tests on Leopard Debug builbot
    
            * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
            Make sure the object still exists when setting m_state.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51790 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 3b49879..9dafa6d 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,13 @@
+2009-12-07  Alexey Proskuryakov  <ap at apple.com>
+
+        Reviewed by Nikolas Zimmermann.
+
+        https://bugs.webkit.org/show_bug.cgi?id=32226
+        Random crashes in WebSocket tests on Leopard Debug builbot
+
+        * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
+        Make sure the object still exists when setting m_state.
+
 2009-12-07  Shiki Okasaka  <shiki at google.com>
 
         Reviewed by Dirk Schulze.
diff --git a/WebCore/platform/network/SocketStreamHandleBase.cpp b/WebCore/platform/network/SocketStreamHandleBase.cpp
index 875c248..9451cb9 100644
--- a/WebCore/platform/network/SocketStreamHandleBase.cpp
+++ b/WebCore/platform/network/SocketStreamHandleBase.cpp
@@ -31,6 +31,7 @@
 #include "config.h"
 #include "SocketStreamHandleBase.h"
 
+#include "SocketStreamHandle.h"
 #include "SocketStreamHandleClient.h"
 
 namespace WebCore {
@@ -77,6 +78,8 @@ bool SocketStreamHandleBase::send(const char* data, int length)
 
 void SocketStreamHandleBase::close()
 {
+    RefPtr<SocketStreamHandle> protect(static_cast<SocketStreamHandle*>(this)); // platformClose calls the client, which may make the handle get deallocated immediately.
+
     platformClose();
     m_state = Closed;
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list