<?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>130894</bug_id>
          
          <creation_ts>2014-03-28 05:23:33 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: url.containsOnlyASCII() in WebCore::checkEncodedString</short_desc>
          <delta_ts>2014-06-13 04:38:46 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>132224</dup_id>
          
          <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>
          <everconfirmed>1</everconfirmed>
          <reporter name="Renata Hodovan">rhodovan.u-szeged</reporter>
          <assigned_to name="Peter Molnar">pmolnar.u-szeged</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>kling</cc>
    
    <cc>pmolnar.u-szeged</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995300</commentid>
    <comment_count>0</comment_count>
      <attachid>228042</attachid>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-03-28 05:23:33 -0700</bug_when>
    <thetext>Created attachment 228042
Test case

The failing test:

&lt;em&gt;
	&lt;div&gt;
		&lt;iframe src=&quot;http://¼&quot;&gt;&lt;/iframe&gt;
&lt;/em&gt;


The backtrace:

ASSERTION FAILED: url.containsOnlyASCII()
/home/reni2/data/REPOS/webkit_sec/Source/WebCore/platform/URL.cpp(303) : void WebCore::checkEncodedString(const WTF::String&amp;)
1   0x7ffff5ed9db5 WTFCrash
2   0x7ffff1592b32
3   0x7ffff1595a26 WebCore::URL::parse(WTF::String const&amp;)
4   0x7ffff1592c54 WebCore::URL::URL(WebCore::ParsedURLStringTag, WTF::String const&amp;)
5   0x7ffff13f43ba WebCore::NavigationScheduler::scheduleLocationChange(WebCore::SecurityOrigin*, WTF::String const&amp;, WTF::String const&amp;, bool, bool)
6   0x7ffff140eb19 WebCore::SubframeLoader::loadOrRedirectSubframe(WebCore::HTMLFrameOwnerElement&amp;, WebCore::URL const&amp;, WTF::AtomicString const&amp;, bool, bool)
7   0x7ffff140d83e WebCore::SubframeLoader::requestFrame(WebCore::HTMLFrameOwnerElement&amp;, WTF::String const&amp;, WTF::AtomicString const&amp;, bool, bool)
8   0x7ffff116df0f WebCore::HTMLFrameElementBase::openURL(bool, bool)
9   0x7ffff116e2c6 WebCore::HTMLFrameElementBase::setNameAndOpenURL()
10  0x7ffff116e397 WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions(WebCore::ContainerNode*)
11  0x7ffff0f35198 WebCore::ChildNodeInsertionNotifier::notify(WebCore::Node&amp;)
12  0x7ffff0f32b96 WebCore::ContainerNode::parserAppendChild(WTF::PassRefPtr&lt;WebCore::Node&gt;)
13  0x7ffff125a196
14  0x7ffff125a34c
15  0x7ffff125a403
16  0x7ffff125a71a WebCore::HTMLConstructionSite::executeQueuedTasks()
17  0x7ffff1287a52 WebCore::HTMLTreeBuilder::constructTree(WebCore::AtomicHTMLToken*)
18  0x7ffff1262ba8 WebCore::HTMLDocumentParser::constructTreeFromHTMLToken(WebCore::HTMLToken&amp;)
19  0x7ffff126282f WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
20  0x7ffff1262035 WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
21  0x7ffff12630ef WebCore::HTMLDocumentParser::append(WTF::PassRefPtr&lt;WTF::StringImpl&gt;)
22  0x7ffff0f47d7b WebCore::DecodedDataDocumentParser::flush(WebCore::DocumentWriter&amp;)
23  0x7ffff13c55ab WebCore::DocumentWriter::end()
24  0x7ffff13aff8b WebCore::DocumentLoader::finishedLoading(double)
25  0x7ffff13afcf4 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*)
26  0x7ffff1458bfc WebCore::CachedResource::checkNotify()
27  0x7ffff1458cda WebCore::CachedResource::finishLoading(WebCore::ResourceBuffer*)
28  0x7ffff14556ae WebCore::CachedRawResource::finishLoading(WebCore::ResourceBuffer*)
29  0x7ffff141095e WebCore::SubresourceLoader::didFinishLoading(double)
30  0x7ffff140cc19 WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle*, double)
31  0x7ffff1cf6715
ERR&lt;5518&gt;:eet eet_lib.c:668 eet_shutdown() File &apos;/home/reni2/.cache/efreet/icon_themes_reni2.eet&apos; is still open !

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5ed9dba in WTFCrash () at /home/reni2/data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:333
333	    *(int *)(uintptr_t)0xbbadbeef = 0;
(gdb) bt
#0  0x00007ffff5ed9dba in WTFCrash () at /home/reni2/data/REPOS/webkit_sec/Source/WTF/wtf/Assertions.cpp:333
#1  0x00007ffff1592b32 in WebCore::checkEncodedString (url=...) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/platform/URL.cpp:303
#2  0x00007ffff1595a26 in WebCore::URL::parse (this=0x7fffffffba60, string=...) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/platform/URL.cpp:982
#3  0x00007ffff1592c54 in WebCore::URL::URL (this=0x7fffffffba60, url=...) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/platform/URL.cpp:330
#4  0x00007ffff13f43ba in WebCore::NavigationScheduler::scheduleLocationChange (this=0x809cb8, securityOrigin=0x999af0, url=..., referrer=..., 
    lockHistory=true, lockBackForwardList=true) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/NavigationScheduler.cpp:357
#5  0x00007ffff140eb19 in WebCore::SubframeLoader::loadOrRedirectSubframe (this=0x905dc0, ownerElement=..., url=..., frameName=..., lockHistory=true, 
    lockBackForwardList=true) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/SubframeLoader.cpp:327
#6  0x00007ffff140d83e in WebCore::SubframeLoader::requestFrame (this=0x905dc0, ownerElement=..., urlString=..., frameName=..., lockHistory=true, 
    lockBackForwardList=true) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/SubframeLoader.cpp:90
#7  0x00007ffff116df0f in WebCore::HTMLFrameElementBase::openURL (this=0x75b5c0, lockHistory=true, lockBackForwardList=true)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/HTMLFrameElementBase.cpp:88
#8  0x00007ffff116e2c6 in WebCore::HTMLFrameElementBase::setNameAndOpenURL (this=0x75b5c0)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/HTMLFrameElementBase.cpp:132
#9  0x00007ffff116e397 in WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions (this=0x75b5c0)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/HTMLFrameElementBase.cpp:157
#10 0x00007ffff0f35198 in WebCore::ChildNodeInsertionNotifier::notify (this=0x7fffffffbda0, node=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/dom/ContainerNodeAlgorithms.h:233
#11 0x00007ffff0f32b96 in WebCore::ContainerNode::parserAppendChild (this=0x9922a0, newChild=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/dom/ContainerNode.cpp:744
#12 0x00007ffff125a196 in WebCore::insert (task=...) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:96
#13 0x00007ffff125a34c in WebCore::executeInsertAlreadyParsedChildTask (task=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:125
#14 0x00007ffff125a403 in WebCore::executeTask (task=...) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:145
#15 0x00007ffff125a71a in WebCore::HTMLConstructionSite::executeQueuedTasks (this=0x999848)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLConstructionSite.cpp:191
#16 0x00007ffff1287a52 in WebCore::HTMLTreeBuilder::constructTree (this=0x999830, token=0x7fffffffbf20)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLTreeBuilder.cpp:366
#17 0x00007ffff1262ba8 in WebCore::HTMLDocumentParser::constructTreeFromHTMLToken (this=0x6ff330, rawToken=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:352
#18 0x00007ffff126282f in WebCore::HTMLDocumentParser::pumpTokenizer (this=0x6ff330, mode=WebCore::HTMLDocumentParser::AllowYield)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:309
#19 0x00007ffff1262035 in WebCore::HTMLDocumentParser::pumpTokenizerIfPossible (this=0x6ff330, mode=WebCore::HTMLDocumentParser::AllowYield)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:189
#20 0x00007ffff12630ef in WebCore::HTMLDocumentParser::append (this=0x6ff330, inputSource=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/html/parser/HTMLDocumentParser.cpp:428
#21 0x00007ffff0f47d7b in WebCore::DecodedDataDocumentParser::flush (this=0x6ff330, writer=...)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/dom/DecodedDataDocumentParser.cpp:60
#22 0x00007ffff13c55ab in WebCore::DocumentWriter::end (this=0x9029e0) at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentWriter.cpp:245
#23 0x00007ffff13aff8b in WebCore::DocumentLoader::finishedLoading (this=0x902940, finishTime=0)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:440
#24 0x00007ffff13afcf4 in WebCore::DocumentLoader::notifyFinished (this=0x902940, resource=0x977320)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/DocumentLoader.cpp:374
#25 0x00007ffff1458bfc in WebCore::CachedResource::checkNotify (this=0x977320)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:332
#26 0x00007ffff1458cda in WebCore::CachedResource::finishLoading (this=0x977320)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedResource.cpp:348
#27 0x00007ffff14556ae in WebCore::CachedRawResource::finishLoading (this=0x977320, data=0x969700)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/cache/CachedRawResource.cpp:96
#28 0x00007ffff141095e in WebCore::SubresourceLoader::didFinishLoading (this=0x977860, finishTime=0)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/SubresourceLoader.cpp:310
#29 0x00007ffff140cc19 in WebCore::ResourceLoader::didFinishLoading (this=0x977860, finishTime=0)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/loader/ResourceLoader.cpp:508
---Type &lt;return&gt; to continue, or q &lt;return&gt; to quit---
#30 0x00007ffff1cf6715 in WebCore::readCallback (asyncResult=0x8539e0, data=0x977c80)
    at /home/reni2/data/REPOS/webkit_sec/Source/WebCore/platform/network/soup/ResourceHandleSoup.cpp:1324
#31 0x00007fffe8ee102a in async_ready_callback_wrapper (source_object=0x9720c0, res=0x8539e0, user_data=0x977c80) at ginputstream.c:530
#32 0x00007fffe8f005bb in g_task_return_now (task=0x8539e0) at gtask.c:1105
#33 0x00007fffe8f005d9 in complete_in_idle_cb (task=0x8539e0) at gtask.c:1114
#34 0x00007fffed28af46 in g_main_dispatch (context=0x853720) at gmain.c:3054
#35 g_main_context_dispatch (context=context@entry=0x853720) at gmain.c:3630
#36 0x00007ffff78dc6e8 in _ecore_glib_select__locked (ecore_timeout=&lt;optimized out&gt;, efds=&lt;optimized out&gt;, wfds=0x7fffffffc690, rfds=0x7fffffffc610, 
    ecore_fds=10, ctx=&lt;optimized out&gt;) at ecore_glib.c:171
#37 _ecore_glib_select (ecore_fds=10, rfds=0x7fffffffc610, wfds=0x7fffffffc690, efds=&lt;optimized out&gt;, ecore_timeout=&lt;optimized out&gt;) at ecore_glib.c:205
#38 0x00007ffff78d6b37 in _ecore_main_select (timeout=timeout@entry=0) at ecore_main.c:1466
#39 0x00007ffff78d762c in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at ecore_main.c:1860
#40 0x00007ffff78d79c7 in ecore_main_loop_begin () at ecore_main.c:956
#41 0x0000000000406866 in main (argc=2, argv=0x7fffffffdb28) at /home/reni2/data/REPOS/webkit_sec/Tools/EWebLauncher/main.c:1002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998551</commentid>
    <comment_count>1</comment_count>
      <attachid>228833</attachid>
    <who name="Peter Molnar">pmolnar.u-szeged</who>
    <bug_when>2014-04-08 07:14:12 -0700</bug_when>
    <thetext>Created attachment 228833
WIP path

Attached a WIP patch.

Instead of the ASSERT, we invalidate the URL if it contains non-ASCII characters.
I don&apos;t know if this is the correct way, do you have any thoughts on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998621</commentid>
    <comment_count>2</comment_count>
      <attachid>228833</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-08 10:05:53 -0700</bug_when>
    <thetext>Comment on attachment 228833
WIP path

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Instead of the ASSERT, invalidate the URL if it contains non-ASCII characters.

This significantly changes the semantics. The purpose of the ASSERT was to ensure that URL parsing does what it&apos;s supposed to do. The new code makes it so that URL parsing bever does anything useful for non-ASCII input. I think that in this case, you need to demonstrate why this is desired behavior, not ask reviewers to investigate on their own.

What do other browsers do on this test, do they parse the URL into something valid?

This change definitely needs regression tests.

&gt; Source/WebCore/platform/URL.cpp:981
&gt; +    ASSERT_UNUSED(string, string.isEmpty() || isSchemeFirstChar(string[0]));

ASSERT_UNUSED is incorrect here, the string argument is used in the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998815</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-04-08 15:13:34 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=228833) [details]
&gt; WIP path
&gt; 
&gt; Attached a WIP patch.
&gt; 
&gt; Instead of the ASSERT, we invalidate the URL if it contains non-ASCII characters.
&gt; I don&apos;t know if this is the correct way, do you have any thoughts on this?

Definitely incorrect.

The problem here is someone is using URL(WebCore::ParsedURLStringTag, WTF::String const&amp;) with a String that was is not a parsed URL String. That is very very bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004565</commentid>
    <comment_count>4</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-04-28 07:03:23 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 132224 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004629</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-04-28 10:09:52 -0700</bug_when>
    <thetext>It seems unlikely that this is a complete duplicate - we can probably exercise the same code path in URL in other ways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015382</commentid>
    <comment_count>6</comment_count>
    <who name="Renata Hodovan">rhodovan.u-szeged</who>
    <bug_when>2014-06-13 04:38:46 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It seems unlikely that this is a complete duplicate - we can probably exercise the same code path in URL in other ways.

(In reply to comment #5)
&gt; It seems unlikely that this is a complete duplicate - we can probably exercise the same code path in URL in other ways.

You were right, the assertion fail still can be triggered with a different test case. A new bug is filed for that: https://bugs.webkit.org/show_bug.cgi?id=133846</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>228042</attachid>
            <date>2014-03-28 05:23:33 -0700</date>
            <delta_ts>2014-03-28 05:23:33 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>crash.html</filename>
            <type>text/html</type>
            <size>53</size>
            <attacher name="Renata Hodovan">rhodovan.u-szeged</attacher>
            
              <data encoding="base64">PGVtPgoJPGRpdj4KCQk8aWZyYW1lIHNyYz0iaHR0cDovLwu8Ij48L2lmcmFtZT4KPC9lbT4=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228833</attachid>
            <date>2014-04-08 07:14:12 -0700</date>
            <delta_ts>2014-04-08 10:05:53 -0700</delta_ts>
            <desc>WIP path</desc>
            <filename>url-utf8-wip.patch</filename>
            <type>text/plain</type>
            <size>2331</size>
            <attacher name="Peter Molnar">pmolnar.u-szeged</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhZjMzNmI0Li41Njk1MTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTQtMDQtMDggIFBldGVyIE1vbG5hciAgPHBtb2xuYXIudS1zemVnZWRAcGFydG5lci5z
YW1zdW5nLmNvbT4KKworICAgICAgICBGaXggQVNTRVJUSU9OIEZBSUxFRDogdXJsLmNvbnRhaW5z
T25seUFTQ0lJKCkgaW4gV2ViQ29yZTo6Y2hlY2tFbmNvZGVkU3RyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzA4OTQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnN0ZWFkIG9mIHRoZSBBU1NFUlQs
IGludmFsaWRhdGUgdGhlIFVSTCBpZiBpdCBjb250YWlucyBub24tQVNDSUkgY2hhcmFjdGVycy4K
KworICAgICAgICAqIHBsYXRmb3JtL1VSTC5jcHA6CisgICAgICAgIChXZWJDb3JlOjplc2NhcGVB
bmRBcHBlbmROb25IaWVyYXJjaGljYWxQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlVSTDo6cGFy
c2UpOgorICAgICAgICAoV2ViQ29yZTo6Y2hlY2tFbmNvZGVkU3RyaW5nKTogRGVsZXRlZC4KKwog
MjAxNC0wNC0wNyAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQ1NTIEpJVDogY2hhbmdlIHRoZSBub2RlIGZsYWdzIGRpcmVjdGx5IGluc3RlYWQgb2Yg
dXNpbmcgZnVuY3Rpb24gY2FsbHMgd2hlbiBwb3NzaWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVVJMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VSTC5jcHAK
aW5kZXggMWQ4ZDMzMC4uODE4MjVkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVVJMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VUkwuY3BwCkBAIC0yOTgs
MTIgKzI5OCw2IEBAIHN0YXRpYyBpbnQgZmluZEZpcnN0T2YoU3RyaW5nVmlldyBzdHJpbmcsIHVu
c2lnbmVkIHN0YXJ0UG9zaXRpb24sIGNvbnN0IGNoYXIqIHRhCiAgICAgcmV0dXJuIC0xOwogfQog
Ci1zdGF0aWMgaW5saW5lIHZvaWQgY2hlY2tFbmNvZGVkU3RyaW5nKGNvbnN0IFN0cmluZyYgdXJs
KQotewotICAgIEFTU0VSVF9VTlVTRUQodXJsLCB1cmwuY29udGFpbnNPbmx5QVNDSUkoKSk7Ci0g
ICAgQVNTRVJUX1VOVVNFRCh1cmwsIHVybC5pc0VtcHR5KCkgfHwgaXNTY2hlbWVGaXJzdENoYXIo
dXJsWzBdKSk7Ci19Ci0KIGlubGluZSBib29sIFVSTDo6cHJvdG9jb2xJcyhjb25zdCBTdHJpbmcm
IHN0cmluZywgY29uc3QgY2hhciogcHJvdG9jb2wpCiB7CiAgICAgcmV0dXJuIFdlYkNvcmU6OnBy
b3RvY29sSXMoc3RyaW5nLCBwcm90b2NvbCk7CkBAIC05MDIsNyArODk2LDcgQEAgc3RhdGljIHZv
aWQgZXNjYXBlQW5kQXBwZW5kTm9uSGllcmFyY2hpY2FsUGFydChjaGFyKiYgYnVmZmVyLCBjb25z
dCBjaGFyKiBzdHJTdGEKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIC8vIENocm9t
ZSBhbmQgSUUgYWxsb3cgbm9uLWFzY2lpIGNoYXJhY3RlcnMgaW4gZnJhZ21lbnRzLCBob3dldmVy
IGRvaW5nCi0gICAgICAgIC8vIHNvIHdvdWxkIGhpdCBhbiBBU1NFUlQgaW4gY2hlY2tFbmNvZGVk
U3RyaW5nLCBzbyBmb3Igbm93IHdlIGRvbid0LgorICAgICAgICAvLyBzbyB3b3VsZCBpbnZhbGlk
YXRlIHRoZSBVUkwgaW4gVVJMOjpwYXJzZSwgc28gZm9yIG5vdyB3ZSBkb24ndC4KICAgICAgICAg
aWYgKGMgPCAweDIwIHx8IGMgPj0gMTI3KSB7CiAgICAgICAgICAgICBhcHBlbmRFc2NhcGVkQ2hh
cihwLCBjKTsKICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtOTc5LDcgKzk3MywxMiBAQCBzdGF0
aWMgaW5saW5lIGJvb2wgaGFzU2xhc2hEb3RPckRvdERvdChjb25zdCBjaGFyKiBzdHIpCiAKIHZv
aWQgVVJMOjpwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZykKIHsKLSAgICBjaGVja0VuY29kZWRT
dHJpbmcoc3RyaW5nKTsKKyAgICBpZiAoIXN0cmluZy5jb250YWluc09ubHlBU0NJSSgpKSB7Cisg
ICAgICAgIG1fc3RyaW5nID0gc3RyaW5nOworICAgICAgICBpbnZhbGlkYXRlKCk7CisgICAgfQor
CisgICAgQVNTRVJUX1VOVVNFRChzdHJpbmcsIHN0cmluZy5pc0VtcHR5KCkgfHwgaXNTY2hlbWVG
aXJzdENoYXIoc3RyaW5nWzBdKSk7CiAKICAgICBDaGFyQnVmZmVyIGJ1ZmZlcihzdHJpbmcubGVu
Z3RoKCkgKyAxKTsKICAgICBjb3B5QVNDSUkoc3RyaW5nLCBidWZmZXIuZGF0YSgpKTsK
</data>
<flag name="review"
          id="253156"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>