[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

hyatt hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:38:22 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 73a4fe6f580299552862d44eea586421cd7bdd25
Author: hyatt <hyatt at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed May 5 20:50:21 2004 +0000

    	Fixes for 3637924, 3643356, and 3558513, all crashes in recalcStyle.  Make sure the tree is always in a
    	sane state when removing children while changing .innerHTML.
    
            Reviewed by darin
    
            * khtml/xml/dom_nodeimpl.cpp:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6545 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 26eb0c0..19a2b8c 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,14 @@
 2004-05-05  David Hyatt  <hyatt at apple.com>
 
+	Fixes for 3637924, 3643356, and 3558513, all crashes in recalcStyle.  Make sure the tree is always in a
+	sane state when removing children while changing .innerHTML.
+	
+        Reviewed by darin
+
+        * khtml/xml/dom_nodeimpl.cpp:
+
+2004-05-05  David Hyatt  <hyatt at apple.com>
+
 	A collection of fixes.
 
 	(1) Fix a regression from the style sharing landing that made visited and unvisited links accidentally share.
diff --git a/WebCore/khtml/xml/dom_nodeimpl.cpp b/WebCore/khtml/xml/dom_nodeimpl.cpp
index c07d6df..ff67947 100644
--- a/WebCore/khtml/xml/dom_nodeimpl.cpp
+++ b/WebCore/khtml/xml/dom_nodeimpl.cpp
@@ -1710,10 +1710,8 @@ NodeImpl *NodeBaseImpl::removeChild ( NodeImpl *oldChild, int &exceptioncode )
 
 void NodeBaseImpl::removeChildren()
 {
-    NodeImpl *n, *next;
-    for( n = _first; n != 0; n = next )
-    {
-        next = n->nextSibling();
+    while (NodeImpl *n = _first) {
+        NodeImpl *next = n->nextSibling();
         if (n->attached())
 	    n->detach();
         if (n->inDocument())
@@ -1721,10 +1719,11 @@ void NodeBaseImpl::removeChildren()
         n->setPreviousSibling(0);
         n->setNextSibling(0);
         n->setParent(0);
-        if( !n->refCount() )
+        if (!n->refCount())
             delete n;
+        _first = next;
     }
-    _first = _last = 0;
+    _last = 0;
 }
 
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list