<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>31684</bug_id>
          
          <creation_ts>2009-11-19 13:54:16 -0800</creation_ts>
          <short_desc>WebCore::Range::surroundContents NULL pointer crash</short_desc>
          <delta_ts>2019-02-06 09:03:11 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://skypher.com/SkyLined/Repro/WebKit/Bug%2031684%20-%20WebCore..Range..surroundContents%20NULL%20pointer/repro.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Berend-Jan Wever">skylined</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>morrita</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>165081</commentid>
    <comment_count>0</comment_count>
      <attachid>43520</attachid>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2009-11-19 13:54:16 -0800</bug_when>
    <thetext>Created attachment 43520
Repro

The following HTML triggers a NULL pointer in &quot;WebCore::Range::surroundContents&quot;:

&lt;SCRIPT&gt;
  range=document.createRange();
  text=document.createTextNode(&apos;&apos;);
  range.selectNodeContents(text);
  element=document.createElement(&quot;l&quot;);
  range.surroundContents(element);
&lt;/SCRIPT&gt;

Relevant call stack (in Chromium):
WebCore::Range::surroundContents(class WTF::PassRefPtr&lt;WebCore::Node&gt; passNewParent = class WTF::PassRefPtr&lt;WebCore::Node&gt;, int * ec = 0x0012f220)+0x113
WebCore::RangeInternal::surroundContentsCallback(class v8::Arguments * args = 0x00000000)+0xac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>165084</commentid>
    <comment_count>1</comment_count>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2009-11-19 13:57:11 -0800</bug_when>
    <thetext>Added online repro URL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173493</commentid>
    <comment_count>2</comment_count>
      <attachid>45226</attachid>
    <who name="MORITA Hajime">morrita</who>
    <bug_when>2009-12-19 00:37:50 -0800</bug_when>
    <thetext>Created attachment 45226
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173494</commentid>
    <comment_count>3</comment_count>
    <who name="MORITA Hajime">morrita</who>
    <bug_when>2009-12-19 00:40:10 -0800</bug_when>
    <thetext>Added NULL guard null throws exception.
Note that Firefox also throws an exception (NS_ERROR_UNEXPECTED) in the case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173495</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-19 00:42:22 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45226 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173541</commentid>
    <comment_count>5</comment_count>
      <attachid>45226</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-19 10:30:50 -0800</bug_when>
    <thetext>Comment on attachment 45226
patch v1

Clearing flags on attachment: 45226

Committed r52388: &lt;http://trac.webkit.org/changeset/52388&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173542</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-12-19 10:30:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502919</commentid>
    <comment_count>7</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:03:11 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>43520</attachid>
            <date>2009-11-19 13:54:16 -0800</date>
            <delta_ts>2009-11-19 13:54:16 -0800</delta_ts>
            <desc>Repro</desc>
            <filename>repro.html</filename>
            <type>text/html</type>
            <size>200</size>
            <attacher name="Berend-Jan Wever">skylined</attacher>
            
              <data encoding="base64">PFNDUklQVD4NCiAgcmFuZ2U9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsNCiAgdGV4dD1kb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgnJyk7DQogIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXh0KTsN
CiAgZWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsIik7DQogIHJhbmdlLnN1cnJvdW5k
Q29udGVudHMoZWxlbWVudCk7DQo8L1NDUklQVD4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45226</attachid>
            <date>2009-12-19 00:37:50 -0800</date>
            <delta_ts>2009-12-19 10:30:49 -0800</delta_ts>
            <desc>patch v1</desc>
            <filename>bug-31684-20091219173748.patch</filename>
            <type>text/plain</type>
            <size>3732</size>
            <attacher name="MORITA Hajime">morrita</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2ZDQ0NGFjLi42Y2I2YmVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMTIt
MTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlOjpSYW5nZTo6c3Vycm91bmRD
b250ZW50cyBOVUxMIHBvaW50ZXIgY3Jhc2guCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTMxNjg0CisKKyAgICAgICAgKiBmYXN0L2RvbS9SYW5nZS8z
MTY4NC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlLzMxNjg0
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3NjcmlwdC10ZXN0cy8zMTY4
NC5qczogQWRkZWQuCisKIDIwMDktMTItMTggIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9SYW5nZS8zMTY4NC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS8zMTY4NC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uMmQ1YzZiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1JhbmdlLzMxNjg0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitUaGlz
IHRlc3QgY2hlY2tzIGFuIG9ycGhhbiB0ZXh0IG5vZGUgY2Fubm90IGJlIHN1cnJvdW5kZWQgYnkg
dGhlIHJhbmdlLiAoYnVnMzE2ODQpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQ
QVNTIHJhbmdlLnN1cnJvdW5kQ29udGVudHMoZWxlbWVudCkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IERPTSBFeGNlcHRpb24gMy4KK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9SYW5nZS8zMTY4NC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFu
Z2UvMzE2ODQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjZhY2Ri
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2UvMzE2ODQuaHRt
bApAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBI
VE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzLzMxNjg0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIu
Li8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3NjcmlwdC10ZXN0
cy8zMTY4NC5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1JhbmdlL3NjcmlwdC10ZXN0cy8zMTY4
NC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzU5NDEwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uvc2NyaXB0LXRlc3RzLzMxNjg0
LmpzCkBAIC0wLDAgKzEsMTEgQEAKK2Rlc2NyaXB0aW9uKAorICAgICJUaGlzIHRlc3QgY2hlY2tz
IGFuIG9ycGhhbiB0ZXh0IG5vZGUgY2Fubm90IGJlIHN1cnJvdW5kZWQgYnkgdGhlIHJhbmdlLiAo
YnVnMzE2ODQpIgorKTsKKwordmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKK3Zh
ciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoJ2hlbGxvJyk7Cit2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRz
KHRleHQpOworCitzaG91bGRUaHJvdygicmFuZ2Uuc3Vycm91bmRDb250ZW50cyhlbGVtZW50KSIs
ICciRXJyb3I6IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogRE9NIEV4Y2VwdGlvbiAzIicpOwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGMyOGM2OWUuLmQ5NzhjMzQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMDktMTItMTkgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdtYWlsLmNvbT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlOjpSYW5n
ZTo6c3Vycm91bmRDb250ZW50cyBOVUxMIHBvaW50ZXIgY3Jhc2guCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxNjg0CisKKyAgICAgICAgVGVzdDog
ZmFzdC9kb20vUmFuZ2UvMzE2ODQuaHRtbAorCisgICAgICAgICogZG9tL1JhbmdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJhbmdlOjpzdXJyb3VuZENvbnRlbnRzKToKKyAgICAgICAgdGhyb3cg
ZXhjZXB0aW9uIHdoZW4gcGFyZW50T2ZOZXdQYXJlbnQtPnBhcmVudE5vZGUoKSBpcyBOVUxMLgor
CiAyMDA5LTEyLTE4ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgog
CiAgICAgICAgIE5vdCByZXZpZXdlZC4gTWVzc2VkIHVwIHRoZSBYQ29kZSBmaWxlLCB0cnlpbmcg
dG8gZml4LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vUmFuZ2UuY3BwIGIvV2ViQ29yZS9kb20v
UmFuZ2UuY3BwCmluZGV4IDg0YTQ2YzIuLmQ3ZGVjMmYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9t
L1JhbmdlLmNwcAorKysgYi9XZWJDb3JlL2RvbS9SYW5nZS5jcHAKQEAgLTE0MTcsNyArMTQxNyw3
IEBAIHZvaWQgUmFuZ2U6OnN1cnJvdW5kQ29udGVudHMoUGFzc1JlZlB0cjxOb2RlPiBwYXNzTmV3
UGFyZW50LCBFeGNlcHRpb25Db2RlJiBlYykKICAgICAvLyBhbHRob3VnaCB0aGlzIHdpbGwgZmFp
bCBiZWxvdyBmb3IgYW5vdGhlciByZWFzb24pLgogICAgIGlmIChwYXJlbnRPZk5ld1BhcmVudC0+
aXNDaGFyYWN0ZXJEYXRhTm9kZSgpKQogICAgICAgICBwYXJlbnRPZk5ld1BhcmVudCA9IHBhcmVu
dE9mTmV3UGFyZW50LT5wYXJlbnROb2RlKCk7Ci0gICAgaWYgKCFwYXJlbnRPZk5ld1BhcmVudC0+
Y2hpbGRUeXBlQWxsb3dlZChuZXdQYXJlbnQtPm5vZGVUeXBlKCkpKSB7CisgICAgaWYgKCFwYXJl
bnRPZk5ld1BhcmVudCB8fCAhcGFyZW50T2ZOZXdQYXJlbnQtPmNoaWxkVHlwZUFsbG93ZWQobmV3
UGFyZW50LT5ub2RlVHlwZSgpKSkgewogICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>