<?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>118839</bug_id>
          
          <creation_ts>2013-07-18 02:07:32 -0700</creation_ts>
          <short_desc>Crash in WTF::RefPtr&lt;WebCore::SpaceSplitStringData&gt;::operator UnspecifiedBoolType</short_desc>
          <delta_ts>2013-08-14 10:43:14 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>116980</blocked>
    
    <blocked>119805</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Rob Buis">rwlbuis</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>d-r</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>fmalita</cc>
    
    <cc>kangil.han</cc>
    
    <cc>pdr</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>sam</cc>
    
    <cc>schenney</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>909668</commentid>
    <comment_count>0</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2013-07-18 02:07:32 -0700</bug_when>
    <thetext>The following SVG crashes if it&apos;s saved as .html file:

&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;
   &lt;g&gt;
      &lt;set attributename=&quot;class&quot;&gt;&lt;/set&gt;
   &lt;/g&gt;
&lt;/svg&gt;


The backtrace: (it seems that m_ptr is a null pointer)

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff3d58938 in WTF::RefPtr&lt;WebCore::SpaceSplitStringData&gt;::operator WebCore::SpaceSplitStringData* WTF::RefPtr&lt;WebCore::SpaceSplitStringData&gt;::* (
    this=0x18) at /home/reni/Data/REPOS/webkit_sec/Source/WTF/wtf/RefPtr.h:76
76	        operator UnspecifiedBoolType() const { return m_ptr ? &amp;RefPtr::m_ptr : 0; }
(gdb) bt
#0  0x00007ffff3d58938 in WTF::RefPtr&lt;WebCore::SpaceSplitStringData&gt;::operator WebCore::SpaceSplitStringData* WTF::RefPtr&lt;WebCore::SpaceSplitStringData&gt;::* (
    this=0x18) at /home/reni/Data/REPOS/webkit_sec/Source/WTF/wtf/RefPtr.h:76
#1  0x00007ffff3d579fe in WebCore::SpaceSplitString::size (this=0x18) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/SpaceSplitString.h:83
#2  0x00007ffff42f3349 in WebCore::checkSelectorForClassChange&lt;WebCore::StyleResolver&gt; (changedClasses=..., checker=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Element.cpp:1102
#3  0x00007ffff42e95e1 in WebCore::Element::classAttributeChanged (this=0x8a7d80, newClassString=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Element.cpp:1154
#4  0x00007ffff4db00a8 in WebCore::SVGStyledElement::svgAttributeChanged (this=0x8a7d80, attrName=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGStyledElement.cpp:333
#5  0x00007ffff4d67588 in WebCore::SVGGraphicsElement::svgAttributeChanged (this=0x8a7d80, attrName=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGGraphicsElement.cpp:128
#6  0x00007ffff4d61031 in WebCore::SVGGElement::svgAttributeChanged (this=0x8a7d80, attrName=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGGElement.cpp:82
#7  0x00007ffff4d0a1bc in WebCore::notifyTargetAboutAnimValChange (targetElement=0x8a7d80, attributeName=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGAnimateElement.cpp:299
#8  0x00007ffff4d0a290 in WebCore::notifyTargetAndInstancesAboutAnimValChange (targetElement=0x8a7d80, attributeName=...)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGAnimateElement.cpp:309
#9  0x00007ffff4d0a61c in WebCore::SVGAnimateElement::applyResultsToTarget (this=0x8b50c0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGAnimateElement.cpp:368
#10 0x00007ffff4cb39aa in WebCore::SMILTimeContainer::updateAnimations (this=0x88bb60, elapsed=..., seekToTime=false)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/animation/SMILTimeContainer.cpp:316
#11 0x00007ffff4cb2cf8 in WebCore::SMILTimeContainer::begin (this=0x88bb60)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/animation/SMILTimeContainer.cpp:139
#12 0x00007ffff4cd7abb in WebCore::SVGDocumentExtensions::startAnimations (this=0x88ddc0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/svg/SVGDocumentExtensions.cpp:102
#13 0x00007ffff42951c3 in WebCore::Document::implicitClose (this=0x873e10) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:2478
#14 0x00007ffff4689ec3 in WebCore::FrameLoader::checkCallImplicitClose (this=0x7ad258)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:843
#15 0x00007ffff4689c2e in WebCore::FrameLoader::checkCompleted (this=0x7ad258) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:786
#16 0x00007ffff468996c in WebCore::FrameLoader::finishedParsing (this=0x7ad258) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/FrameLoader.cpp:719
#17 0x00007ffff429c03b in WebCore::Document::finishedParsing (this=0x873e10) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/dom/Document.cpp:4417
#18 0x00007ffff44e8dd3 in WebCore::HTMLConstructionSite::finishedParsing (this=0x7efaa8)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:348
#19 0x00007ffff451a4bf in WebCore::HTMLTreeBuilder::finished (this=0x7efa90)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:2926
#20 0x00007ffff44f0386 in WebCore::HTMLDocumentParser::end (this=0x7676e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:756
#21 0x00007ffff44f0473 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd (this=0x7676e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:767
#22 0x00007ffff44ef0a6 in WebCore::HTMLDocumentParser::prepareToStopParsing (this=0x7676e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:211
#23 0x00007ffff44f04b6 in WebCore::HTMLDocumentParser::attemptToEnd (this=0x7676e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:779
#24 0x00007ffff44f056d in WebCore::HTMLDocumentParser::finish (this=0x7676e0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:828
#25 0x00007ffff46819b5 in WebCore::DocumentWriter::end (this=0x694320) at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentWriter.cpp:248
#26 0x00007ffff467459e in WebCore::DocumentLoader::finishedLoading (this=0x694280, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:402
#27 0x00007ffff467430c in WebCore::DocumentLoader::notifyFinished (this=0x694280, resource=0x7724a0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:344
#28 0x00007ffff465b9d8 in WebCore::CachedResource::checkNotify (this=0x7724a0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:369
#29 0x00007ffff465baae in WebCore::CachedResource::finishLoading (this=0x7724a0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:385
#30 0x00007ffff46581be in WebCore::CachedRawResource::finishLoading (this=0x7724a0, data=0x782aa0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedRawResource.cpp:94
#31 0x00007ffff46bda4a in WebCore::SubresourceLoader::didFinishLoading (this=0x753390, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/SubresourceLoader.cpp:282
#32 0x00007ffff46b43d7 in WebCore::ResourceLoader::didFinishLoading (this=0x753390, finishTime=0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/loader/ResourceLoader.cpp:488
#33 0x00007ffff4b4179c in WebCore::QNetworkReplyHandler::finish (this=0x753fb0)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:516
#34 0x00007ffff4b40462 in WebCore::QNetworkReplyHandlerCallQueue::flush (this=0x753fe8)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:250
#35 0x00007ffff4b4018a in WebCore::QNetworkReplyHandlerCallQueue::push (this=0x753fe8, 
    method=(void (WebCore::QNetworkReplyHandler::*)(WebCore::QNetworkReplyHandler * const)) 0x7ffff4b415de &lt;WebCore::QNetworkReplyHandler::finish()&gt;)
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:216
#36 0x00007ffff4b410e8 in WebCore::QNetworkReplyWrapper::didReceiveFinished (this=0x754360)
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
    at /home/reni/Data/REPOS/webkit_sec/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp:409
#37 0x00007ffff4b43aaa in WebCore::QNetworkReplyWrapper::qt_static_metacall (_o=0x754360, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffffffcf80)
    at .moc/release-shared/moc_QNetworkReplyHandler.cpp:176
#38 0x00007ffff231e5cb in QMetaObject::activate(QObject*, int, int, void**) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#39 0x00007ffff231f84e in QObject::event(QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#40 0x00007ffff3165dbc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Widgets.so.5
#41 0x00007ffff3169075 in QApplication::notify(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Widgets.so.5
#42 0x00007ffff22f9dbe in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#43 0x00007ffff22fba76 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#44 0x00007ffff2341333 in ?? () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#45 0x00007fffee4840a6 in g_main_dispatch (context=0x6632f0) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3058
#46 g_main_context_dispatch (context=context@entry=0x6632f0) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3634
#47 0x00007fffee4843f8 in g_main_context_iterate (context=context@entry=0x6632f0, block=block@entry=1, dispatch=dispatch@entry=1, self=&lt;optimized out&gt;)
    at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3705
#48 0x00007fffee48449c in g_main_context_iteration (context=0x6632f0, may_block=1) at /build/buildd/glib2.0-2.37.3/./glib/gmain.c:3766
#49 0x00007ffff23414bc in QEventDispatcherGlib::processEvents(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) ()
   from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#50 0x00007ffff22f8d3b in QEventLoop::exec(QFlags&lt;QEventLoop::ProcessEventsFlag&gt;) () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#51 0x00007ffff22fc120 in QCoreApplication::exec() () from /usr/local/Trolltech/Qt5/Qt-5.0.0-r40/lib/libQt5Core.so.5
#52 0x0000000000421ba0 in launcherMain (app=...) at /home/reni/Data/REPOS/webkit_sec/Tools/QtTestBrowser/qttestbrowser.cpp:49
#53 0x0000000000423680 in main (argc=2, argv=0x7fffffffdc58) at /home/reni/Data/REPOS/webkit_sec/Tools/QtTestBrowser/qttestbrowser.cpp:318</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>909672</commentid>
    <comment_count>1</comment_count>
      <attachid>206971</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2013-07-18 02:09:07 -0700</bug_when>
    <thetext>Created attachment 206971
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915301</commentid>
    <comment_count>2</comment_count>
      <attachid>208308</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-08-07 17:58:48 -0700</bug_when>
    <thetext>Created attachment 208308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915315</commentid>
    <comment_count>3</comment_count>
      <attachid>208308</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-07 20:58:38 -0700</bug_when>
    <thetext>Comment on attachment 208308
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=208308&amp;action=review

&gt; Source/WebCore/svg/SVGStyledElement.cpp:334
&gt; +        if (!elementData())
&gt; +            ensureUniqueElementData();

This fix does not look right. The bug seems to be in Element::classAttributeChanged and the fix should be there as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915420</commentid>
    <comment_count>4</comment_count>
      <attachid>208338</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-08-08 06:44:55 -0700</bug_when>
    <thetext>Created attachment 208338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915421</commentid>
    <comment_count>5</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-08-08 06:50:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 208308 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=208308&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/svg/SVGStyledElement.cpp:334
&gt; &gt; +        if (!elementData())
&gt; &gt; +            ensureUniqueElementData();
&gt; 
&gt; This fix does not look right. The bug seems to be in Element::classAttributeChanged and the fix should be there as well.

Right, I just thought that this problem can only happen in SVG, since only in SVG the situation can be that no attributes have been processed and classAttributeChanged is called (through animation). I don&apos;t think elementData() can be null when entering classAttributeChanged outside of SVG. I was hesitating between the two approaches a lot... Anyway the new patch tries to fix things in Element::classAttributeChanged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>915528</commentid>
    <comment_count>6</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-08-08 11:41:11 -0700</bug_when>
    <thetext>Committed r153835: &lt;http://trac.webkit.org/changeset/153835&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>206971</attachid>
            <date>2013-07-18 02:09:07 -0700</date>
            <delta_ts>2013-07-18 02:09:07 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>lastCrash.html</filename>
            <type>text/html</type>
            <size>103</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICA8Zz4KICAgICAgPHNl
dCBhdHRyaWJ1dGVuYW1lPSJjbGFzcyI+PC9zZXQ+CiAgIDwvZz4KPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208308</attachid>
            <date>2013-08-07 17:58:48 -0700</date>
            <delta_ts>2013-08-08 06:44:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118839-20130807205836.patch</filename>
            <type>text/plain</type>
            <size>3219</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdmNTY5MGVjZjZmMjIy
YWQyY2U4OGYwNWM5OTBkZTYzOTQ1M2IyMy4uYmRlMjczMjU4OTAyZThiNThiMWU4MmNiMWU0ZTg5
OTQ4MWNmZTJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA4LTA3ICBSb2Ig
QnVpcyAgPHJ3bGJ1aXNAd2Via2l0Lm9yZz4KKworICAgICAgICBDcmFzaCBpbiBXVEY6OlJlZlB0
cjxXZWJDb3JlOjpTcGFjZVNwbGl0U3RyaW5nRGF0YT46Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9v
bFR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
ODgzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1h
a2Ugc3VyZSBlbGVtZW50RGF0YSgpIGV4aXN0cyBiZWZvcmUgY2FsbGluZyBFbGVtZW50OjpjbGFz
c0F0dHJpYnV0ZUNoYW5nZWQuCisKKyAgICAgICAgVGVzdDogc3ZnL2FuaW1hdGlvbnMvY2xhc3NB
dHRyaWJ1dGVTZXR0aW5nQ3Jhc2guaHRtbAorCisgICAgICAgICogc3ZnL1NWR1N0eWxlZEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3R5bGVkRWxlbWVudDo6c3ZnQXR0cmlidXRl
Q2hhbmdlZCk6CisKIDIwMTMtMDgtMDYgIFJvYiBCdWlzICA8cndsYnVpc0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFNwZWN1bGF0aXZlIGJ1aWxkIGZpeCBhZnRlciByMTUzNzU0LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvc3ZnL1NWR1N0eWxlZEVsZW1lbnQuY3BwCmluZGV4IGM2YWMwZWExN2RlMjdkZDgzZjRiMjg4
MTg2NTU2M2QwNTI0NzhmZjcuLmEyNGQ4NzRmMmY2OTlmM2I1MTJiYzNkOTQ2NzBjNWRiZTg4ZmQx
YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTdHlsZWRFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKQEAgLTMzMCw2ICsz
MzAsOCBAQCB2b2lkIFNWR1N0eWxlZEVsZW1lbnQ6OnN2Z0F0dHJpYnV0ZUNoYW5nZWQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgYXR0ck5hbWUpCiAgICAgfQogCiAgICAgaWYgKGF0dHJOYW1lID09IEhU
TUxOYW1lczo6Y2xhc3NBdHRyKSB7CisgICAgICAgIGlmICghZWxlbWVudERhdGEoKSkKKyAgICAg
ICAgICAgIGVuc3VyZVVuaXF1ZUVsZW1lbnREYXRhKCk7CiAgICAgICAgIGNsYXNzQXR0cmlidXRl
Q2hhbmdlZChjbGFzc05hbWUoKSk7CiAgICAgICAgIFNWR0VsZW1lbnRJbnN0YW5jZTo6aW52YWxp
ZGF0ZUFsbEluc3RhbmNlc09mRWxlbWVudCh0aGlzKTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGVkZDY3OTQ1OWU0NjJhYzUxZTYwNDFiMTI2ZmY4MmM0OWE3ZjNhMjUuLjM5ZDliZWYzYTg3YThk
ZjBlZWE1NTM0ZDAyNzIwMGFiZDI1YWI5NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0w
OC0wNyAgUm9iIEJ1aXMgIDxyd2xidWlzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ3Jhc2ggaW4g
V1RGOjpSZWZQdHI8V2ViQ29yZTo6U3BhY2VTcGxpdFN0cmluZ0RhdGE+OjpvcGVyYXRvciBVbnNw
ZWNpZmllZEJvb2xUeXBlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTg4MzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdGNhc2UgdGhhdCBzaG93ZWQgdXAgdG8gY2F1c2UgYSBjcmFzaCBieSB0
aGUgZnV6emVyLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRyaWJ1dGVTZXR0
aW5nQ3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9j
bGFzc0F0dHJpYnV0ZVNldHRpbmdDcmFzaC5odG1sOiBBZGRlZC4KKwogMjAxMy0wOC0wNSAgUm9i
IEJ1aXMgIDxyd2xidWlzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU1ZHIHN0cm9rZS1kYXNoYXJy
YXkgaXMgbm90IGFuaW1hdGFibGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRp
b25zL2NsYXNzQXR0cmlidXRlU2V0dGluZ0NyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL2NsYXNzQXR0cmlidXRlU2V0dGluZ0NyYXNoLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42OWNmYzVhOThkYjc0ZmJlMzJhYzliNjc4YTYxMzRhZjk3MzZkZDU5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRyaWJ1dGVT
ZXR0aW5nQ3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorUEFTUworCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9jbGFzc0F0dHJpYnV0ZVNldHRpbmdDcmFz
aC5odG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRyaWJ1dGVTZXR0aW5n
Q3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzc3ZTQ1YjMyZmU2ODMwZjRlODZmMWY5MDdjMjFhZDQ3
MjhiMjI5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvY2xh
c3NBdHRyaWJ1dGVTZXR0aW5nQ3Jhc2guaHRtbApAQCAtMCwwICsxLDEyIEBACis8aGVhZD4KKyAg
PGRpdj5QQVNTPC9kaXY+CisgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3Zn
Ij4KKyAgICA8Zz4KKyAgICAgIDxzZXQgYXR0cmlidXRlbmFtZT0iY2xhc3MiPjwvc2V0PgorICAg
IDwvZz4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIDwv
c2NyaXB0PgorICA8L3N2Zz4KKzwvaGVhZD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208338</attachid>
            <date>2013-08-08 06:44:55 -0700</date>
            <delta_ts>2013-08-08 10:38:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-118839-20130808094443.patch</filename>
            <type>text/plain</type>
            <size>3743</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTdmNTY5MGVjZjZmMjIy
YWQyY2U4OGYwNWM5OTBkZTYzOTQ1M2IyMy4uYTg1NWZhZGRjZmM1OGYyZDZmYzI5MjZhNzc5NjBh
ZTFkOGYzMTVmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA4LTA4ICBSb2Ig
QnVpcyAgPHJ3bGJ1aXNAd2Via2l0Lm9yZz4KKworICAgICAgICBDcmFzaCBpbiBXVEY6OlJlZlB0
cjxXZWJDb3JlOjpTcGFjZVNwbGl0U3RyaW5nRGF0YT46Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9v
bFR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
ODgzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRh
a2UgaW50byBhY2NvdW50IHRoYXQgZWxlbWVudERhdGEoKSBjYW4gYmUgbnVsbCBpbiBjbGFzc0F0
dHJpYnV0ZUNoYW5nZWQuCisKKyAgICAgICAgVGVzdDogc3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRy
aWJ1dGVTZXR0aW5nQ3Jhc2guaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y2xhc3NBdHRyaWJ1dGVDaGFuZ2VkKToKKwogMjAxMy0w
OC0wNiAgUm9iIEJ1aXMgIDxyd2xidWlzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3BlY3VsYXRp
dmUgYnVpbGQgZml4IGFmdGVyIHIxNTM3NTQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMTI5
YjI5OTExZTJkODFiYzQ2ZGY5MmRjMjNmYmJiMzcyZjgzZTQ3Ny4uNDU2NjFjYmZkNjJjMjA2ZjFi
YThiYjljZmZjNTI5YThlNjg5MDFiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTE0NSwx
MSArMTE0NSwxMSBAQCB2b2lkIEVsZW1lbnQ6OmNsYXNzQXR0cmlidXRlQ2hhbmdlZChjb25zdCBB
dG9taWNTdHJpbmcmIG5ld0NsYXNzU3RyaW5nKQogCiAgICAgaWYgKGNsYXNzU3RyaW5nSGFzQ2xh
c3NOYW1lKG5ld0NsYXNzU3RyaW5nKSkgewogICAgICAgICBjb25zdCBib29sIHNob3VsZEZvbGRD
YXNlID0gZG9jdW1lbnQoKS0+aW5RdWlya3NNb2RlKCk7Ci0gICAgICAgIGNvbnN0IFNwYWNlU3Bs
aXRTdHJpbmcgb2xkQ2xhc3NlcyA9IGVsZW1lbnREYXRhKCktPmNsYXNzTmFtZXMoKTsKKyAgICAg
ICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyBvbGRDbGFzc2VzID0gZW5zdXJlVW5pcXVlRWxlbWVu
dERhdGEoKS0+Y2xhc3NOYW1lcygpOwogICAgICAgICBlbGVtZW50RGF0YSgpLT5zZXRDbGFzcyhu
ZXdDbGFzc1N0cmluZywgc2hvdWxkRm9sZENhc2UpOwogICAgICAgICBjb25zdCBTcGFjZVNwbGl0
U3RyaW5nJiBuZXdDbGFzc2VzID0gZWxlbWVudERhdGEoKS0+Y2xhc3NOYW1lcygpOwogICAgICAg
ICBzaG91bGRJbnZhbGlkYXRlU3R5bGUgPSB0ZXN0U2hvdWxkSW52YWxpZGF0ZVN0eWxlICYmIGNo
ZWNrU2VsZWN0b3JGb3JDbGFzc0NoYW5nZShvbGRDbGFzc2VzLCBuZXdDbGFzc2VzLCAqc3R5bGVS
ZXNvbHZlcik7Ci0gICAgfSBlbHNlIHsKKyAgICB9IGVsc2UgaWYgKGVsZW1lbnREYXRhKCkpIHsK
ICAgICAgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgb2xkQ2xhc3NlcyA9IGVsZW1lbnREYXRh
KCktPmNsYXNzTmFtZXMoKTsKICAgICAgICAgc2hvdWxkSW52YWxpZGF0ZVN0eWxlID0gdGVzdFNo
b3VsZEludmFsaWRhdGVTdHlsZSAmJiBjaGVja1NlbGVjdG9yRm9yQ2xhc3NDaGFuZ2Uob2xkQ2xh
c3NlcywgKnN0eWxlUmVzb2x2ZXIpOwogICAgICAgICBlbGVtZW50RGF0YSgpLT5jbGVhckNsYXNz
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZWRkNjc5NDU5ZTQ2MmFjNTFlNjA0MWIxMjZmZjgyYzQ5YTdmM2EyNS4uOGVj
ZGRhNDMyNzY1NDE5ZDBhZjVjM2Q5MDQxYWFjMDEwM2NmNTY4MSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEzLTA4LTA4ICBSb2IgQnVpcyAgPHJ3bGJ1aXNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBDcmFzaCBpbiBXVEY6OlJlZlB0cjxXZWJDb3JlOjpTcGFjZVNwbGl0U3RyaW5nRGF0YT46Om9w
ZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExODgzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0Y2FzZSB0aGF0IHNob3dlZCB1cCB0byBjYXVzZSBh
IGNyYXNoIGJ5IHRoZSBmdXp6ZXIuCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9jbGFzc0F0
dHJpYnV0ZVNldHRpbmdDcmFzaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9h
bmltYXRpb25zL2NsYXNzQXR0cmlidXRlU2V0dGluZ0NyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDEz
LTA4LTA1ICBSb2IgQnVpcyAgPHJ3bGJ1aXNAd2Via2l0Lm9yZz4KIAogICAgICAgICBTVkcgc3Ry
b2tlLWRhc2hhcnJheSBpcyBub3QgYW5pbWF0YWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRyaWJ1dGVTZXR0aW5nQ3Jhc2gtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvY2xhc3NBdHRyaWJ1dGVTZXR0aW5nQ3Jhc2gtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5Y2ZjNWE5OGRiNzRmYmUzMmFjOWI2NzhhNjEzNGFmOTcz
NmRkNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9jbGFz
c0F0dHJpYnV0ZVNldHRpbmdDcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitQQVNT
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2NsYXNzQXR0cmlidXRl
U2V0dGluZ0NyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9jbGFzc0F0dHJp
YnV0ZVNldHRpbmdDcmFzaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU3NzdlNDViMzJmZTY4MzBmNGU4NmYx
ZjkwN2MyMWFkNDcyOGIyMjkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvYW5p
bWF0aW9ucy9jbGFzc0F0dHJpYnV0ZVNldHRpbmdDcmFzaC5odG1sCkBAIC0wLDAgKzEsMTIgQEAK
KzxoZWFkPgorICA8ZGl2PlBBU1M8L2Rpdj4KKyAgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciPgorICAgIDxnPgorICAgICAgPHNldCBhdHRyaWJ1dGVuYW1lPSJjbGFzcyI+
PC9zZXQ+CisgICAgPC9nPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisgICAgPC9zY3JpcHQ+CisgIDwvc3ZnPgorPC9oZWFkPgo=
</data>
<flag name="review"
          id="230243"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>