<?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>147411</bug_id>
          
          <creation_ts>2015-07-29 11:39:43 -0700</creation_ts>
          <short_desc>Crash calling webSocket.close() from onError handler for blocked web socket</short_desc>
          <delta_ts>2015-07-30 21:37:20 -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>Page Loading</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>ap</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1113128</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-29 11:39:43 -0700</bug_when>
    <thetext>Crash calling webSocket.close() from onError handler for blocked web socket

This was introduced with http://trac.webkit.org/changeset/185848, but isn&apos;t really a regression in the traditional sense.

In radar rdar://problem/21771620

In the crashing frame, the m_handshake is null, because the error callback is happening before there was ever a handshake.

&gt;  1 com.apple.WebCore              0x7fff862c0e99 WebCore::URL::stringCenterEllipsizedToLength(unsigned int) const + 0x19
   2 com.apple.WebCore              0x7fff86338c78 WebCore::WebSocketChannel::fail(WTF::String const&amp;) + 0x88
   3 com.apple.WebCore              0x7fff86336232 WebCore::WebSocket::close(int, WTF::String const&amp;, int&amp;) + 0x162
   4 com.apple.WebCore              0x7fff85ea5994 WebCore::jsWebSocketPrototypeFunctionClose(JSC::ExecState*) + 0x104
   5                                0x0000290f31801028 0 + 45145231724584
   6 com.apple.JavaScriptCore       0x7fff8934e706 llint_entry + 0x598d
   7 com.apple.JavaScriptCore       0x7fff8934e706 llint_entry + 0x598d
   8 com.apple.JavaScriptCore       0x7fff89348b69 vmEntryToJavaScript + 0x146
   9 com.apple.JavaScriptCore       0x7fff89271879 JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*) + 0xa9
  10 com.apple.JavaScriptCore       0x7fff88e4b49d JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 0x1ed
  11 com.apple.JavaScriptCore       0x7fff88e4b29e JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 0x3e
  12 com.apple.JavaScriptCore       0x7fff88f6228a JSC::boundFunctionCall(JSC::ExecState*) + 0x24a
  13 com.apple.JavaScriptCore       0x7fff89348d02 vmEntryToNative + 0x14c
  14 com.apple.JavaScriptCore       0x7fff88e4b4dd JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 0x22d
  15 com.apple.JavaScriptCore       0x7fff88fe5807 JSC::call(JSC::ExecState*, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;) + 0x47
  16 com.apple.WebCore              0x7fff8552ce6a WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) + 0x3ea
  17 com.apple.WebCore              0x7fff859553bb WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector&lt;WebCore::RegisteredEventListener, 1ul, WTF::CrashOnOverflow, 16ul&gt;&amp;) + 0x27b
  18 com.apple.WebCore              0x7fff85436ba0 WebCore::EventTarget::fireEventListeners(WebCore::Event*) + 0xe0
  19 com.apple.WebCore              0x7fff8552a69d WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 0x5d
  20 com.apple.WebCore              0x7fff8633735a std::__1::__function::__func&lt;WebCore::WebSocket::connect(WTF::String const&amp;, WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, int&amp;)::$_0, std::__1::allocator&lt;WebCore::WebSocket::connect(WTF::String const&amp;, WTF::Vector&lt;WTF::String, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, int&amp;)::$_0&gt;, void ()&gt;::operator()() + 0x4a
  21 com.apple.JavaScriptCore       0x7fff8942ef86 WTF::RunLoop::performWork() + 0x1b6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113129</commentid>
    <comment_count>1</comment_count>
      <attachid>257760</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-29 11:45:07 -0700</bug_when>
    <thetext>Created attachment 257760
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113162</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-29 14:10:11 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/187556</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113221</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-29 17:17:50 -0700</bug_when>
    <thetext>Whoops, thank you for fixing it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113270</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-29 20:13:23 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Whoops, thank you for fixing it!

Your test was SO CLOSE to covering it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113619</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-07-30 18:40:48 -0700</bug_when>
    <thetext>Let it be known that I found comment #4 extremely amusing....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113647</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-07-30 21:37:20 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Let it be known that I found comment #4 extremely amusing....

Let it be known that I appreciate that somebody caught that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257760</attachid>
            <date>2015-07-29 11:45:07 -0700</date>
            <delta_ts>2015-07-29 14:05:30 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>10335</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWI3ZWRiLi40YTRiY2M4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDct
MjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIENyYXNoIGNh
bGxpbmcgd2ViU29ja2V0LmNsb3NlKCkgZnJvbSBvbkVycm9yIGhhbmRsZXIgZm9yIGJsb2NrZWQg
d2ViIHNvY2tldC4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxNzcxNjIwPiBhbmQgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzQxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtaW5zZWN1cmUtd2Vic29ja2V0Lmh0bWw6
IEFkZCBhIGNhbGwgdG8gd2ViU29ja2V0LmNsb3NlKCkgaW5zaWRlIHRoZSBvbkVycm9yIGhhbmRs
ZXIuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvd2Vic29ja2V0
L2luc2VjdXJlLXdlYnNvY2tldC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3dlYnNvY2tldC9pbnNlY3VyZS13ZWJzb2Nr
ZXQtaW4tbWFpbi1mcmFtZS1leHBlY3RlZC50eHQ6CisKIDIwMTUtMDctMjggIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBsYXggTUlNRSB0eXBlIHBhcnNp
bmcgZm9yIHNhbWUtb3JpZ2luIENTUyBpbiBxdWlya3MgbW9kZS4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3Jlc291cmNlcy9mcmFtZS13
aXRoLWluc2VjdXJlLXdlYnNvY2tldC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtaW5zZWN1cmUtd2Vic29ja2V0
Lmh0bWwKaW5kZXggMzlhZjhhYS4uYmQ0NmYwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtaW5zZWN1
cmUtd2Vic29ja2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9t
aXhlZENvbnRlbnQvcmVzb3VyY2VzL2ZyYW1lLXdpdGgtaW5zZWN1cmUtd2Vic29ja2V0Lmh0bWwK
QEAgLTIsNiArMiw4IEBACiA8c2NyaXB0Pgogd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwog
Cit2YXIgd3M7CisKIGZ1bmN0aW9uIG9uU29ja2V0T3BlbmVkKCkgewogICAgIGFsZXJ0KCJXZWJT
b2NrZXQgY29ubmVjdGlvbiBvcGVuZWQuIik7CiAgICAgZmluaXNoSlNUZXN0KCk7CkBAIC05LDYg
KzExLDcgQEAgZnVuY3Rpb24gb25Tb2NrZXRPcGVuZWQoKSB7CiAKIGZ1bmN0aW9uIG9uU29ja2V0
RXJyb3IoKSB7CiAgICAgYWxlcnQoIldlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZC4iKTsKKyAg
ICB3cy5jbG9zZSgpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfQogCkBAIC0xOCw3ICsyMSw3IEBA
IGZ1bmN0aW9uIG9uU29ja2V0Q2xvc2VkKCkgewogfQogCiB0cnkgewotICAgIHZhciB3cyA9IG5l
dyBXZWJTb2NrZXQoIndzOi8vMTI3LjAuMC4xOjg4ODAvd2Vic29ja2V0L3Rlc3RzL2h5YmkvZWNo
byIpOworICAgIHdzID0gbmV3IFdlYlNvY2tldCgid3M6Ly8xMjcuMC4wLjE6ODg4MC93ZWJzb2Nr
ZXQvdGVzdHMvaHliaS9lY2hvIik7CiAgICAgd3Mub25vcGVuID0gb25Tb2NrZXRPcGVuZWQ7CiAg
ICAgd3Mub25lcnJvciA9IG9uU29ja2V0RXJyb3I7CiAgICAgd3Mub25jbG9zZSA9IG9uU29ja2V0
Q2xvc2VkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhl
ZENvbnRlbnQvd2Vic29ja2V0L2luc2VjdXJlLXdlYnNvY2tldC1pbi1pZnJhbWUtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvd2Vic29j
a2V0L2luc2VjdXJlLXdlYnNvY2tldC1pbi1pZnJhbWUtZXhwZWN0ZWQudHh0CmluZGV4IDhhYTAz
ODUuLjRkMmRjMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
bWl4ZWRDb250ZW50L3dlYnNvY2tldC9pbnNlY3VyZS13ZWJzb2NrZXQtaW4taWZyYW1lLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVu
dC93ZWJzb2NrZXQvaW5zZWN1cmUtd2Vic29ja2V0LWluLWlmcmFtZS1leHBlY3RlZC50eHQKQEAg
LTEsNiArMSw3IEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IFtibG9ja2VkXSBUaGUgcGFn
ZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJj
ZXMvZnJhbWUtd2l0aC1pbnNlY3VyZS13ZWJzb2NrZXQuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8g
cnVuIGluc2VjdXJlIGNvbnRlbnQgZnJvbSB3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90
ZXN0cy9oeWJpL2VjaG8uCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjQ6IFtibG9ja2VkXSBUaGUg
cGFnZSBhdCBodHRwczovLzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNv
dXJjZXMvZnJhbWUtd2l0aC1pbnNlY3VyZS13ZWJzb2NrZXQuaHRtbCB3YXMgbm90IGFsbG93ZWQg
dG8gcnVuIGluc2VjdXJlIGNvbnRlbnQgZnJvbSB3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tl
dC90ZXN0cy9oeWJpL2VjaG8uCiAKIEFMRVJUOiBXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQu
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMTQ6IFdlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZDog
V2ViU29ja2V0IGlzIGNsb3NlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQu
CiBUaGlzIHRlc3QgbG9hZHMgYW4gaWZyYW1lIHRoYXQgY3JlYXRlcyBhbiBpbnNlY3VyZSBXZWJT
b2NrZXQgY29ubmVjdGlvbi4gV2Ugc2hvdWxkIGJsb2NrIHRoZSBjb25uZWN0aW9uIGFuZCB0cmln
Z2VyIGEgbWl4ZWQgY29udGVudCBjYWxsYmFjayBiZWNhdXNlIHRoZSBtYWluIGZyYW1lIGlzIEhU
VFBTLCBidXQgdGhlIGRhdGEgc2VudCBvdmVyIHRoZSBzb2NrZXQgY291bGQgYmUgcmVjb3JkZWQg
b3IgY29udHJvbGxlZCBieSBhbiBhdHRhY2tlci4KIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC93ZWJzb2NrZXQvaW5zZWN1cmUtd2Vi
c29ja2V0LWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9taXhlZENvbnRlbnQvd2Vic29ja2V0L2luc2VjdXJlLXdlYnNvY2tldC1pbi1t
YWluLWZyYW1lLWV4cGVjdGVkLnR4dAppbmRleCAzNTU3ZjMwLi4wNTMyYmI0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC93ZWJzb2NrZXQv
aW5zZWN1cmUtd2Vic29ja2V0LWluLW1haW4tZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L3dlYnNvY2tldC9pbnNlY3Vy
ZS13ZWJzb2NrZXQtaW4tbWFpbi1mcmFtZS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw1IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjE6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczovLzEy
Ny4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvZnJhbWUtd2l0aC1p
bnNlY3VyZS13ZWJzb2NrZXQuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gcnVuIGluc2VjdXJlIGNv
bnRlbnQgZnJvbSB3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2VjaG8u
CitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjQ6IFtibG9ja2VkXSBUaGUgcGFnZSBhdCBodHRwczov
LzEyNy4wLjAuMTo4NDQzL3NlY3VyaXR5L21peGVkQ29udGVudC9yZXNvdXJjZXMvZnJhbWUtd2l0
aC1pbnNlY3VyZS13ZWJzb2NrZXQuaHRtbCB3YXMgbm90IGFsbG93ZWQgdG8gcnVuIGluc2VjdXJl
IGNvbnRlbnQgZnJvbSB3czovLzEyNy4wLjAuMTo4ODgwL3dlYnNvY2tldC90ZXN0cy9oeWJpL2Vj
aG8uCiAKIEFMRVJUOiBXZWJTb2NrZXQgY29ubmVjdGlvbiBmYWlsZWQuCitDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTQ6IFdlYlNvY2tldCBjb25uZWN0aW9uIGZhaWxlZDogV2ViU29ja2V0IGlzIGNs
b3NlZCBiZWZvcmUgdGhlIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQuCiBUaGlzIHRlc3Qgb3Bl
bnMgYSB3aW5kb3cgdGhhdCBjb25uZWN0cyB0byBhbiBpbnNlY3VyZSB3czovLyBXZWJTb2NrZXQu
IFdlIHNob3VsZCBibG9jayB0aGUgY29ubmVjdGlvbiBhbmQgdHJpZ2dlciBhIG1peGVkIGNvbnRl
bnQgY2FsbGJhY2sgYmVjYXVzZSB0aGUgbWFpbiBmcmFtZSBpcyBIVFRQUywgYnV0IHRoZSBkYXRh
IHNlbnQgb3ZlciB0aGUgc29ja2V0IGNvdWxkIGJlIHJlY29yZGVkIG9yIGNvbnRyb2xsZWQgYnkg
YW4gYXR0YWNrZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRlMDdhMC4uYjI4ZTE0YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI0IEBACisyMDE1LTA3LTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBDcmFzaCBjYWxsaW5nIHdlYlNvY2tldC5jbG9zZSgpIGZyb20gb25F
cnJvciBoYW5kbGVyIGZvciBibG9ja2VkIHdlYiBzb2NrZXQuCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yMTc3MTYyMD4gYW5kIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDc0MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUZXN0czogaHR0cC90ZXN0cy9zZWN1cml0eS9taXhlZENvbnRlbnQvd2Vic29ja2V0L2luc2Vj
dXJlLXdlYnNvY2tldC1pbi1pZnJhbWUuaHRtbAorICAgICAgICAgICAgICAgaHR0cC90ZXN0cy9z
ZWN1cml0eS9taXhlZENvbnRlbnQvd2Vic29ja2V0L2luc2VjdXJlLXdlYnNvY2tldC1pbi1tYWlu
LWZyYW1lLmh0bWwKKworICAgICAgICBUaGlzIHdhcyBpbnRyb2R1Y2VkIHdpdGggaHR0cDovL3Ry
YWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTg1ODQ4CisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlNvY2tldDo6Y29ubmVj
dCk6IFdoZW4gYmxvY2tlZCBiZWNhdXNlIG9mIG1peGVkQ29udGVudCwgY2FsbCBkaXNwYXRjaE9y
UXVldWVFcnJvckV2ZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRpZFJlY2Vp
dmVNZXNzYWdlRXJyb3IpOiBVc2UgZGlzcGF0Y2hPclF1ZXVlRXJyb3JFdmVudCgpIGluc3RlYWQu
CisgICAgICAgIChXZWJDb3JlOjpXZWJTb2NrZXQ6OmRpc3BhdGNoT3JRdWV1ZUVycm9yRXZlbnQp
OiBEaXNwYXRjaCB0aGUgZXJyb3IgZXZlbnQsIGJ1dCBkb24ndCBkaXNwYXRjaCBvbmUgdHdpY2Uh
CisgICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oOgorCisgICAgICAgICog
TW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViU29ja2V0Q2hhbm5lbDo6ZmFpbCk6IE51bGwtY2hlY2sgbV9oYW5kc2hha2UgYmVmb3Jl
IGNyZWF0aW5nIGEgY29uc29sZSBtZXNzYWdlIGZyb20gaXQuCisKIDIwMTUtMDctMjggIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEhhbmRsZSBudWxsIENGQXJy
YXlSZWYgcmV0dXJuaW5nIGZyb20gX0NGSFRUUFBhcnNlZENvb2tpZXNXaXRoUmVzcG9uc2VIZWFk
ZXJGaWVsZHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2Nr
ZXQuY3BwCmluZGV4IGIxNzYwZWUuLjc5YjBlMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuY3BwCkBAIC0yODQsMTIgKzI4NCwxMyBAQCB2b2lk
IFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIHByb3RvY29scywgRXhjZQogICAgICAgICBpZiAoIWRvY3VtZW50LmZyYW1lKCktPmxvYWRl
cigpLm1peGVkQ29udGVudENoZWNrZXIoKS5jYW5SdW5JbnNlY3VyZUNvbnRlbnQoZG9jdW1lbnQu
c2VjdXJpdHlPcmlnaW4oKSwgbV91cmwpKSB7CiAgICAgICAgICAgICAvLyBCYWxhbmNlZCBieSB0
aGUgY2FsbCB0byBBY3RpdmVET01PYmplY3Q6OnVuc2V0UGVuZGluZ0FjdGl2aXR5KCkgaW4gV2Vi
U29ja2V0OjpzdG9wKCkuCiAgICAgICAgICAgICBBY3RpdmVET01PYmplY3Q6OnNldFBlbmRpbmdB
Y3Rpdml0eSh0aGlzKTsKKwogICAgICAgICAgICAgLy8gV2UgbXVzdCBibG9jayB0aGlzIGNvbm5l
Y3Rpb24uIEluc3RlYWQgb2YgdGhyb3dpbmcgYW4gZXhjZXB0aW9uLCB3ZSBpbmRpY2F0ZSB0aGlz
CiAgICAgICAgICAgICAvLyB1c2luZyB0aGUgZXJyb3IgZXZlbnQuIEJ1dCBzaW5jZSB0aGlzIGNv
ZGUgZXhlY3V0ZXMgYXMgcGFydCBvZiB0aGUgV2ViU29ja2V0J3MKICAgICAgICAgICAgIC8vIGNv
bnN0cnVjdG9yLCB3ZSBoYXZlIHRvIHdhaXQgdW50aWwgdGhlIGNvbnN0cnVjdG9yIGhhcyBjb21w
bGV0ZWQgYmVmb3JlIGZpcmluZyB0aGUKICAgICAgICAgICAgIC8vIGV2ZW50OyBvdGhlcndpc2Us
IHVzZXJzIGNhbid0IGNvbm5lY3QgdG8gdGhlIGV2ZW50LgogICAgICAgICAgICAgUnVuTG9vcDo6
bWFpbigpLmRpc3BhdGNoKFt0aGlzXSgpIHsKLSAgICAgICAgICAgICAgICBkaXNwYXRjaEV2ZW50
KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwor
ICAgICAgICAgICAgICAgIGRpc3BhdGNoT3JRdWV1ZUVycm9yRXZlbnQoKTsKICAgICAgICAgICAg
ICAgICBzdG9wKCk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTU4
Nyw3ICs1ODgsNyBAQCB2b2lkIFdlYlNvY2tldDo6ZGlkUmVjZWl2ZU1lc3NhZ2VFcnJvcigpCiAg
ICAgTE9HKE5ldHdvcmssICJXZWJTb2NrZXQgJXAgZGlkUmVjZWl2ZUVycm9yTWVzc2FnZSgpIiwg
dGhpcyk7CiAgICAgbV9zdGF0ZSA9IENMT1NFRDsKICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpKTsKLSAgICBkaXNwYXRjaE9yUXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50
TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKKyAgICBkaXNwYXRjaE9yUXVldWVF
cnJvckV2ZW50KCk7CiB9CiAKIHZvaWQgV2ViU29ja2V0OjpkaWRVcGRhdGVCdWZmZXJlZEFtb3Vu
dCh1bnNpZ25lZCBsb25nIGJ1ZmZlcmVkQW1vdW50KQpAQCAtNjM4LDYgKzYzOSwxNSBAQCBzaXpl
X3QgV2ViU29ja2V0OjpnZXRGcmFtaW5nT3ZlcmhlYWQoc2l6ZV90IHBheWxvYWRTaXplKQogICAg
IHJldHVybiBvdmVyaGVhZDsKIH0KIAordm9pZCBXZWJTb2NrZXQ6OmRpc3BhdGNoT3JRdWV1ZUVy
cm9yRXZlbnQoKQoreworICAgIGlmIChtX2Rpc3BhdGNoZWRFcnJvckV2ZW50KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX2Rpc3BhdGNoZWRFcnJvckV2ZW50ID0gdHJ1ZTsKKyAgICBkaXNwYXRj
aE9yUXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5lcnJvckV2ZW50LCBmYWxz
ZSwgZmFsc2UpKTsKK30KKwogdm9pZCBXZWJTb2NrZXQ6OmRpc3BhdGNoT3JRdWV1ZUV2ZW50KFJl
ZjxFdmVudD4mJiBldmVudCkKIHsKICAgICBpZiAobV9zaG91bGREZWxheUV2ZW50RmlyaW5nKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5oCmluZGV4IDQw
ZTlkZDAuLjEyMDA0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmgKQEAgLTExMCw2ICsxMTAsNyBAQCBwcml2YXRlOgogICAgIGV4cGxpY2l0IFdl
YlNvY2tldChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CiAKICAgICB2b2lkIHJlc3VtZVRpbWVy
RmlyZWQoKTsKKyAgICB2b2lkIGRpc3BhdGNoT3JRdWV1ZUVycm9yRXZlbnQoKTsKICAgICB2b2lk
IGRpc3BhdGNoT3JRdWV1ZUV2ZW50KFJlZjxFdmVudD4mJik7CiAKICAgICAvLyBBY3RpdmVET01P
YmplY3QgQVBJLgpAQCAtMTQzLDYgKzE0NCw3IEBAIHByaXZhdGU6CiAgICAgVGltZXIgbV9yZXN1
bWVUaW1lcjsKICAgICBib29sIG1fc2hvdWxkRGVsYXlFdmVudEZpcmluZyB7IGZhbHNlIH07CiAg
ICAgRGVxdWU8UmVmPEV2ZW50Pj4gbV9wZW5kaW5nRXZlbnRzOworICAgIGJvb2wgbV9kaXNwYXRj
aGVkRXJyb3JFdmVudCB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0Q2hh
bm5lbC5jcHAKaW5kZXggOWE0M2MyZS4uOTIwZDkyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldENoYW5uZWwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXRDaGFubmVsLmNwcApAQCAtMjAxLDcg
KzIwMSwxNCBAQCB2b2lkIFdlYlNvY2tldENoYW5uZWw6OmZhaWwoY29uc3QgU3RyaW5nJiByZWFz
b24pCiAgICAgQVNTRVJUKCFtX3N1c3BlbmRlZCk7CiAgICAgaWYgKG1fZG9jdW1lbnQpIHsKICAg
ICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRSZWNlaXZlV2ViU29ja2V0RnJhbWVF
cnJvcihtX2RvY3VtZW50LCBtX2lkZW50aWZpZXIsIHJlYXNvbik7Ci0gICAgICAgIG1fZG9jdW1l
bnQtPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6Ok5ldHdvcmssIE1lc3NhZ2VMZXZl
bDo6RXJyb3IsICJXZWJTb2NrZXQgY29ubmVjdGlvbiB0byAnIiArIG1faGFuZHNoYWtlLT51cmwo
KS5zdHJpbmdDZW50ZXJFbGxpcHNpemVkVG9MZW5ndGgoKSArICInIGZhaWxlZDogIiArIHJlYXNv
bik7CisKKyAgICAgICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdlOworICAgICAgICBpZiAobV9oYW5k
c2hha2UpCisgICAgICAgICAgICBjb25zb2xlTWVzc2FnZSA9IG1ha2VTdHJpbmcoIldlYlNvY2tl
dCBjb25uZWN0aW9uIHRvICciLCBtX2hhbmRzaGFrZS0+dXJsKCkuc3RyaW5nQ2VudGVyRWxsaXBz
aXplZFRvTGVuZ3RoKCksICInIGZhaWxlZDogIiwgcmVhc29uKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgY29uc29sZU1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJXZWJTb2NrZXQgY29ubmVjdGlv
biBmYWlsZWQ6ICIsIHJlYXNvbik7CisKKyAgICAgICAgbV9kb2N1bWVudC0+YWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZTo6TmV0d29yaywgTWVzc2FnZUxldmVsOjpFcnJvciwgY29uc29s
ZU1lc3NhZ2UpOwogICAgIH0KIAogICAgIC8vIEh5YmktMTAgc3BlY2lmaWNhdGlvbiBleHBsaWNp
dGx5IHN0YXRlcyB3ZSBtdXN0IG5vdCBjb250aW51ZSB0byBoYW5kbGUgaW5jb21pbmcgZGF0YQpA
QCAtMjE4LDcgKzIyNSw4IEBAIHZvaWQgV2ViU29ja2V0Q2hhbm5lbDo6ZmFpbChjb25zdCBTdHJp
bmcmIHJlYXNvbikKICAgICBpZiAobV9oYW5kbGUgJiYgIW1fY2xvc2VkKQogICAgICAgICBtX2hh
bmRsZS0+ZGlzY29ubmVjdCgpOyAvLyBXaWxsIGNhbGwgZGlkQ2xvc2UoKS4KIAotICAgIEFTU0VS
VChtX2Nsb3NlZCk7CisgICAgLy8gV2Ugc2hvdWxkIGJlIGNsb3NlZCBieSBub3csIGJ1dCBpZiB3
ZSBuZXZlciBnb3QgYSBoYW5kc2hha2UgdGhlbiB3ZSBuZXZlciBldmVuIG9wZW5lZC4KKyAgICBB
U1NFUlQobV9jbG9zZWQgfHwgIW1faGFuZHNoYWtlKTsKIH0KIAogdm9pZCBXZWJTb2NrZXRDaGFu
bmVsOjpkaXNjb25uZWN0KCkK
</data>
<flag name="review"
          id="282935"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>