<?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>64693</bug_id>
          
          <creation_ts>2011-07-18 07:26:22 -0700</creation_ts>
          <short_desc>-webkit-marquee with anonymous node causes segmentation fault in Node::document</short_desc>
          <delta_ts>2011-07-29 15:49:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="noel gordon">noel.gordon</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eae</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438450</commentid>
    <comment_count>0</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2011-07-18 07:26:22 -0700</bug_when>
    <thetext>Reproduction:

 &lt;!DOCTYPE html&gt;
  &lt;style&gt; p:first-letter { overflow: -webkit-marquee; float: left; } &lt;/style&gt;
 &lt;p&gt;a&lt;/p&gt;

Crash reproduces so far in:

 Safari 5.0.5 (7533.21.1) Win32
 Chrome 14.0.822.0 (Developer Build 92402) WebKit 535.1 (trunk@90358) Linux Ubuntu 11.04 (x86_64), Win32
 Chrome 13.0.782.56 (Official Build 92025) Beta Linux Ubuntu 11.04 (x86_64)
 Chrome 12.0.742.122 Stable Win32

crbug.com/89595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438504</commentid>
    <comment_count>1</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2011-07-18 08:57:14 -0700</bug_when>
    <thetext>Noel, why did you mark this security ?

To me, this looks a obvious null ptr exception crash. this and renderer() vtables are all right and renderer()-&gt;node() is an anonymous node, so null. I have also hit this in my fuzzers, so remember analyzing this. Am i missing anything ?

renderer()-&gt;node()-&gt;document()-&gt;eventQueue()-&gt;enqueueOrDispatchScrollEvent(renderer()-&gt;node(), EventQueue::ScrollEventElementTarget);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438519</commentid>
    <comment_count>2</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2011-07-18 09:41:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/9792726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>439663</commentid>
    <comment_count>3</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2011-07-20 00:36:43 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Noel, why did you mark this security ?

I was not concerned about Chromium; there it&apos;s a tab crash.  My concern was for Safari and other WebCore users. Should I
consider simple ways to crash those users as a security matter or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>440505</commentid>
    <comment_count>4</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2011-07-21 11:22:16 -0700</bug_when>
    <thetext>Null ptr crashes are not security bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441007</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-07-22 10:49:26 -0700</bug_when>
    <thetext>ASSERTION FAILED: this
/Users/ap/Safari/OpenSource/Source/WebCore/dom/Node.h(365) : WebCore::Document* WebCore::Node::document() const
1   WebCore::Node::document() const
2   WebCore::RenderLayer::scrollTo(int, int)
3   WebCore::RenderLayer::setScrollOffset(WebCore::IntPoint const&amp;)
4   WebCore::ScrollableArea::setScrollOffsetFromAnimation(WebCore::IntPoint const&amp;)
5   WebCore::ScrollAnimator::notityPositionChanged()
6   WebCore::ScrollAnimatorMac::notityPositionChanged()
7   WebCore::ScrollAnimatorMac::immediateScrollToPoint(WebCore::FloatPoint const&amp;)
8   WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&amp;)
9   WebCore::ScrollableArea::scrollToOffsetWithoutAnimation(WebCore::FloatPoint const&amp;)
10  WebCore::RenderLayer::scrollToOffset(int, int, WebCore::RenderLayer::ScrollOffsetClamping)
11  WebCore::RenderMarquee::start()
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443599</commentid>
    <comment_count>6</comment_count>
      <attachid>102281</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-07-28 12:05:17 -0700</bug_when>
    <thetext>Created attachment 102281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>443844</commentid>
    <comment_count>7</comment_count>
      <attachid>102281</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-07-29 01:08:33 -0700</bug_when>
    <thetext>Comment on attachment 102281
Patch

How about to use renderer()-&gt;document() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444023</commentid>
    <comment_count>8</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2011-07-29 11:24:39 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 102281 [details])
&gt; How about to use renderer()-&gt;document() ?

That would allow us to dispatch a scroll event but as there is no corresponding dom node to set the target to I&apos;m not sure how useful that event would be.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444150</commentid>
    <comment_count>9</comment_count>
      <attachid>102281</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 15:49:03 -0700</bug_when>
    <thetext>Comment on attachment 102281
Patch

Clearing flags on attachment: 102281

Committed r92025: &lt;http://trac.webkit.org/changeset/92025&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444151</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 15:49:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102281</attachid>
            <date>2011-07-28 12:05:17 -0700</date>
            <delta_ts>2011-07-29 15:49:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64693-20110728120516.patch</filename>
            <type>text/plain</type>
            <size>3329</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxOTQxKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDctMjggIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIC13ZWJraXQtbWFycXVlZSB3aXRo
IGFub255bW91cyBub2RlIGNhdXNlcyBzZWdtZW50YXRpb24gZmF1bHQgaW4gTm9kZTo6ZG9jdW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njkz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDog
ZmFzdC9jc3Mvd2Via2l0LW1hcnF1ZWUtYW5vbnltb3VzLW5vZGUtY3Jhc2guaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpzY3JvbGxUbyk6CisgICAgICAgIEFkZCBudWxsIGNoZWNrIGFzIHJlbmRlcmVyKCkt
Pm5vZGUoKSBpcyBudWxsIGZvciBhbm9ueW1vdXMgbm9kZXMuCisKIDIwMTEtMDctMjggIERhdmlk
IEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAogICAgICAgICA8aHR0cDovL3dlYmtpdC5v
cmcvYi82NTI4OT4gUmVtb3ZlIEdlb2xvY2F0aW9uUG9zaXRpb25DYWNoZQpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCShyZXZpc2lvbiA5MTkzOCkKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzNzYsNyArMTM3Niw4IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBpbnQg
eSkKICAgICAgICAgcmVuZGVyZXIoKS0+cmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250
YWluZXIsIHJlY3RGb3JSZXBhaW50KTsKIAogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3JvbGwgRE9N
IGV2ZW50LgotICAgIHJlbmRlcmVyKCktPm5vZGUoKS0+ZG9jdW1lbnQoKS0+ZXZlbnRRdWV1ZSgp
LT5lbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KHJlbmRlcmVyKCktPm5vZGUoKSwgRXZlbnRR
dWV1ZTo6U2Nyb2xsRXZlbnRFbGVtZW50VGFyZ2V0KTsKKyAgICBpZiAocmVuZGVyZXIoKS0+bm9k
ZSgpKQorICAgICAgICByZW5kZXJlcigpLT5ub2RlKCktPmRvY3VtZW50KCktPmV2ZW50UXVldWUo
KS0+ZW5xdWV1ZU9yRGlzcGF0Y2hTY3JvbGxFdmVudChyZW5kZXJlcigpLT5ub2RlKCksIEV2ZW50
UXVldWU6OlNjcm9sbEV2ZW50RWxlbWVudFRhcmdldCk7CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6
OnNjcm9sbFJlY3RUb1Zpc2libGUoY29uc3QgSW50UmVjdCYgcmVjdCwgY29uc3QgU2Nyb2xsQWxp
Z25tZW50JiBhbGlnblgsIGNvbnN0IFNjcm9sbEFsaWdubWVudCYgYWxpZ25ZKQpJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gOTE5NDEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wNy0yOCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgLXdlYmtpdC1tYXJxdWVlIHdpdGggYW5vbnltb3VzIG5vZGUgY2F1
c2VzIHNlZ21lbnRhdGlvbiBmYXVsdCBpbiBOb2RlOjpkb2N1bWVudAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2OTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY3NzL3dlYmtpdC1tYXJxdWVl
LWFub255bW91cy1ub2RlLWNyYXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9jc3Mvd2Via2l0LW1hcnF1ZWUtYW5vbnltb3VzLW5vZGUtY3Jhc2guaHRtbDogQWRkZWQuCisg
ICAgICAgIEFkZCB0ZXN0IGZvciB1c2luZyAtd2Via2l0LW1hcnF1ZWUgd2l0aCBhbiBhbm9ueW1v
dXMgbm9kZS4KKwogMjAxMS0wNy0yOCAgU3RlcGhlbiBXaGl0ZSAgPHNlbm9yYmxhbmNvQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSB0ZXN0X2V4cGVjdGF0aW9ucyB1cGRhdGU6ICBy
ZW1vdmUgYSBidW5jaCBvZiBjb21tZW50ZWQtb3V0CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nz
cy93ZWJraXQtbWFycXVlZS1hbm9ueW1vdXMtbm9kZS1jcmFzaC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mvd2Via2l0LW1hcnF1ZWUtYW5vbnltb3VzLW5v
ZGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9j
c3Mvd2Via2l0LW1hcnF1ZWUtYW5vbnltb3VzLW5vZGUtY3Jhc2gtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxIEBACitTaG91bGQgbm90IGNyYXNoCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy93ZWJraXQtbWFycXVlZS1hbm9ueW1vdXMtbm9kZS1jcmFzaC5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3dlYmtpdC1tYXJxdWVlLWFub255bW91cy1u
b2RlLWNyYXNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy93ZWJr
aXQtbWFycXVlZS1hbm9ueW1vdXMtbm9kZS1jcmFzaC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDkgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxzdHlsZT5wOmZpcnN0LWxldHRlciB7IG92ZXJm
bG93OiAtd2Via2l0LW1hcnF1ZWU7IGZsb2F0OiBsZWZ0OyB9PC9zdHlsZT4NCis8c2NyaXB0Pg0K
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpDQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsNCis8L3NjcmlwdD4NCis8Ym9keT4NCisgICAgPHA+U2hvdWxkIG5v
dCBjcmFzaDwvcD4NCis8L2JvZHk+DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>