[Pkg-chromium-commit] chromium-browser/chromium-browser.sid: 693 * Backported security patches from stable:

Giuseppe Iuculano iuculano at debian.org
Fri Jan 14 09:50:10 UTC 2011


Branch name: chromium-browser/chromium-browser.sid
Branch location : bzr+ssh://bzr.debian.org/bzr/pkg-chromium/chromium-browser/chromium-browser.sid
Browse location: http://bzr.debian.org/loggerhead/pkg-chromium
Revision No: 693
Revision Id: iuculano at debian.org-20110114095010-7q5pc7mi0bmrtd4j
Committer: Giuseppe Iuculano <iuculano at debian.org>
Message : * Backported security patches from stable:
  - High Bad pointer handling in node iteration. Credit to Sergey Glazunov.


--------------------------------------------------------
  ** Added :
        - debian/patches/65764.patch

  ** Modified :
        - debian/changelog
        - debian/patches/series

-------------- next part --------------
=== modified file 'debian/changelog'
--- a/debian/changelog	2010-12-18 16:39:36 +0000
+++ b/debian/changelog	2011-01-14 09:50:10 +0000
@@ -1,3 +1,10 @@
+chromium-browser (6.0.472.63~r59945-5) UNRELEASED; urgency=high
+
+  * Backported security patches from stable:
+    - High Bad pointer handling in node iteration. Credit to Sergey Glazunov.
+
+ -- Giuseppe Iuculano <iuculano at debian.org>  Fri, 14 Jan 2011 10:48:43 +0100
+
 chromium-browser (6.0.472.63~r59945-4) unstable; urgency=high
 
   * Backported security patches from stable:

=== added file 'debian/patches/65764.patch'
--- a/debian/patches/65764.patch	1970-01-01 00:00:00 +0000
+++ b/debian/patches/65764.patch	2011-01-14 09:50:10 +0000
@@ -0,0 +1,45 @@
+--- a/src/third_party/WebKit/WebCore/dom/Document.cpp
++++ b/src/third_party/WebKit/WebCore/dom/Document.cpp
+@@ -3069,6 +3069,18 @@ void Document::detachNodeIterator(NodeIt
+     m_nodeIterators.remove(ni);
+ }
+ 
++void Document::moveNodeIteratorsToNewDocument(Node* node, Document* newDocument)
++{
++    HashSet<NodeIterator*> nodeIteratorsList = m_nodeIterators;
++    HashSet<NodeIterator*>::const_iterator nodeIteratorsEnd = nodeIteratorsList.end();
++    for (HashSet<NodeIterator*>::const_iterator it = nodeIteratorsList.begin(); it != nodeIteratorsEnd; ++it) {
++        if ((*it)->root() == node) {
++            detachNodeIterator(*it);
++            newDocument->attachNodeIterator(*it);
++        }
++    }
++}
++
+ void Document::nodeChildrenChanged(ContainerNode* container)
+ {
+     if (!disableRangeMutation(page())) {
+--- a/src/third_party/WebKit/WebCore/dom/Document.h
++++ b/src/third_party/WebKit/WebCore/dom/Document.h
+@@ -632,6 +632,7 @@ public:
+ 
+     void attachNodeIterator(NodeIterator*);
+     void detachNodeIterator(NodeIterator*);
++    void moveNodeIteratorsToNewDocument(Node*, Document*);
+ 
+     void attachRange(Range*);
+     void detachRange(Range*);
+--- a/src/third_party/WebKit/WebCore/dom/Node.cpp
++++ b/src/third_party/WebKit/WebCore/dom/Node.cpp
+@@ -439,8 +439,10 @@ void Node::setDocument(Document* documen
+         document->addNodeListCache();
+     }
+ 
+-    if (m_document)
++    if (m_document) {
++        m_document->moveNodeIteratorsToNewDocument(this, document);
+         m_document->selfOnlyDeref();
++    }
+ 
+     m_document = document;
+ 

=== modified file 'debian/patches/series'
--- a/debian/patches/series	2010-12-18 13:08:47 +0000
+++ b/debian/patches/series	2011-01-14 09:50:10 +0000
@@ -41,3 +41,4 @@
 63529.patch
 63866.patch
 64959.patch
+65764.patch



More information about the Pkg-chromium-commit mailing list