<?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>166416</bug_id>
          
          <creation_ts>2016-12-22 00:13:16 -0800</creation_ts>
          <short_desc>WebAssembly: Make the spec-tests/start.wast.js test pass</short_desc>
          <delta_ts>2016-12-22 10:32:03 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1262269</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 00:13:16 -0800</bug_when>
    <thetext>Two things are needed:
1. Our start functions are borked if the thing is an import (the current code assumes all imports are exports, which is wrong)
2. Unreachable should throw an exception, not crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262270</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-12-22 00:20:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/29784532&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262271</commentid>
    <comment_count>2</comment_count>
      <attachid>297648</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 00:32:54 -0800</bug_when>
    <thetext>Created attachment 297648
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262277</commentid>
    <comment_count>3</comment_count>
      <attachid>297648</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-12-22 01:20:56 -0800</bug_when>
    <thetext>Comment on attachment 297648
patch

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

r=me

&gt; Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:185
&gt;          if (!m_startFunction.get()) {

I think this is always true, right? If so, let&apos;s drop this brace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262298</commentid>
    <comment_count>4</comment_count>
      <attachid>297648</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-12-22 09:08:39 -0800</bug_when>
    <thetext>Comment on attachment 297648
patch

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

&gt;&gt; Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:185
&gt;&gt;          if (!m_startFunction.get()) {
&gt; 
&gt; I think this is always true, right? If so, let&apos;s drop this brace.

Indeed, the erroneous code I had above was the only code which touched m_startFunction. This should now never be set when we get here.

I think you should also move this code down here:
97    bool hasStart = !!moduleInformation.startFunctionIndexSpace;
98    auto startFunctionIndexSpace = moduleInformation.startFunctionIndexSpace.value_or(0);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262324</commentid>
    <comment_count>5</comment_count>
      <attachid>297648</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 10:23:16 -0800</bug_when>
    <thetext>Comment on attachment 297648
patch

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

&gt;&gt;&gt; Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp:185
&gt;&gt;&gt;          if (!m_startFunction.get()) {
&gt;&gt; 
&gt;&gt; I think this is always true, right? If so, let&apos;s drop this brace.
&gt; 
&gt; Indeed, the erroneous code I had above was the only code which touched m_startFunction. This should now never be set when we get here.
&gt; 
&gt; I think you should also move this code down here:
&gt; 97    bool hasStart = !!moduleInformation.startFunctionIndexSpace;
&gt; 98    auto startFunctionIndexSpace = moduleInformation.startFunctionIndexSpace.value_or(0);

Sounds good, I&apos;ll make these changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262327</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 10:32:03 -0800</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/210102</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297648</attachid>
            <date>2016-12-22 00:32:54 -0800</date>
            <delta_ts>2016-12-22 01:20:56 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>7849</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTAwOTUpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDE2LTEyLTIyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYkFzc2VtYmx5OiBNYWtlIHRoZSBzcGVjLXRlc3RzL3N0YXJ0Lndh
c3QuanMgdGVzdCBwYXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjY0MTYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5Nzg0NTMyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2FzbS55YW1sOgor
CiAyMDE2LTEyLTIxICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYkFzc2VtYmx5OiBGaXggZGVjb2RlIGZsb2F0aW5nIHBvaW50IGNvbnN0YW50cyBp
biB1bnJlYWNoYWJsZSBjb2RlCkluZGV4OiBKU1Rlc3RzL3dhc20ueWFtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBKU1Rlc3RzL3dhc20ueWFtbAkocmV2aXNpb24gMjEwMDk1KQorKysgSlNUZXN0cy93YXNtLnlh
bWwJKHdvcmtpbmcgY29weSkKQEAgLTE3MCw3ICsxNzAsNyBAQAogICBjbWQ6IHJ1bldlYkFzc2Vt
Ymx5U3BlY1Rlc3QgOm5vcm1hbAogCiAtIHBhdGg6IHdhc20vc3BlYy10ZXN0cy9zdGFydC53YXN0
LmpzCi0gIGNtZDogcnVuV2ViQXNzZW1ibHlTcGVjVGVzdCA6c2tpcAorICBjbWQ6IHJ1bldlYkFz
c2VtYmx5U3BlY1Rlc3QgOm5vcm1hbAogCiAtIHBhdGg6IHdhc20vc3BlYy10ZXN0cy9zdG9yZV9y
ZXR2YWwud2FzdC5qcwogICBjbWQ6IHJ1bldlYkFzc2VtYmx5U3BlY1Rlc3QgOm5vcm1hbApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTAwOTUpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjkgQEAKKzIw
MTYtMTItMjIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
QXNzZW1ibHk6IE1ha2UgdGhlIHNwZWMtdGVzdHMvc3RhcnQud2FzdC5qcyB0ZXN0IHBhc3MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NjQxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjk3ODQ1MzI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVG8gbWFrZSB0aGUgdGVzdCBydW4sIEkgaGFkIHRvIGZp
eCB0d28gYnVnczoKKyAgICAgICAgMS4gV2Ugd2VyZW4ndCBwcm9wZXJseSBmaW5kaW5nIHRoZSBz
dGFydCBmdW5jdGlvbi4gVGhlcmUgd2FzIGNvZGUKKyAgICAgICAgdGhhdCB3b3VsZCB0cnkgdG8g
ZmluZCB0aGUgc3RhcnQgZnVuY3Rpb24gZnJvbSB0aGUgbGlzdCBvZiAqZXhwb3J0ZWQqCisgICAg
ICAgIGZ1bmN0aW9ucy4gVGhpcyBpcyB3cm9uZzsgdGhlIHN0YXJ0IGZ1bmN0aW9uIGlzIGFuIGlu
ZGV4IGludG8gdGhlCisgICAgICAgIGZ1bmN0aW9uIGluZGV4IHNwYWNlLCB3aGljaCBpcyB0aGUg
c3BhY2UgZm9yICppbXBvcnRzKiBhbmQgKmxvY2FsKgorICAgICAgICBmdW5jdGlvbnMuIEl0IGhh
cyBub3RoaW5nIHRvIGRvIHdpdGggZXhwb3J0cy4gU28gdGhlIGNvZGUgd2FzIGp1c3QKKyAgICAg
ICAgd3JvbmcgaW4gdGhpcyByZXNwZWN0LCBhbmQgSSd2ZSBmaXhlZCBpdCBkbyB0aGUgcmlnaHQg
dGhpbmcuCisgICAgICAgIAorICAgICAgICAyLiBXZSB3ZXJlIGVtaXR0aW5nIGEgYnJlYWtwb2lu
dCBmb3IgVW5yZWFjaGFibGUuIEluc3RlYWQgb2YgY3Jhc2hpbmcsCisgICAgICAgIHRoaXMgb3Bj
b2RlIG5lZWRzIHRvIHRocm93IGFuIGV4Y2VwdGlvbiB3aGVuIGV4ZWN1dGluZy4KKworICAgICAg
ICAqIHdhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwOgorICAgICAgICAqIHdhc20vV2FzbUV4Y2Vw
dGlvblR5cGUuaDoKKyAgICAgICAgKiB3YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNw
cDoKKyAgICAgICAgKEpTQzo6V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ6OmxpbmspOgorICAgICAg
ICAoSlNDOjpXZWJBc3NlbWJseU1vZHVsZVJlY29yZDo6ZXZhbHVhdGUpOgorICAgICAgICAqIHdh
c20vanMvV2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQuaDoKKwogMjAxNi0xMi0yMSAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJBc3NlbWJseTogRml4
IGRlY29kZSBmbG9hdGluZyBwb2ludCBjb25zdGFudHMgaW4gdW5yZWFjaGFibGUgY29kZQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNw
cAkocmV2aXNpb24gMjEwMDk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIz
SVJHZW5lcmF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjUsOCArMzI1LDggQEAgYXV0byBC
M0lSR2VuZXJhdG9yOjpnZXRMb2NhbCh1aW50MzJfdCBpbgogYXV0byBCM0lSR2VuZXJhdG9yOjph
ZGRVbnJlYWNoYWJsZSgpIC0+IFBhcnRpYWxSZXN1bHQKIHsKICAgICBCMzo6UGF0Y2hwb2ludFZh
bHVlKiB1bnJlYWNoYWJsZSA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8QjM6OlBhdGNocG9p
bnRWYWx1ZT4obV9wcm9jLCBCMzo6Vm9pZCwgT3JpZ2luKCkpOwotICAgIHVucmVhY2hhYmxlLT5z
ZXRHZW5lcmF0b3IoWz1dIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgQjM6OlN0YWNrbWFwR2Vu
ZXJhdGlvblBhcmFtcyYpIHsKLSAgICAgICAgaml0LmJyZWFrcG9pbnQoKTsKKyAgICB1bnJlYWNo
YWJsZS0+c2V0R2VuZXJhdG9yKFt0aGlzXSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IEIzOjpT
dGFja21hcEdlbmVyYXRpb25QYXJhbXMmKSB7CisgICAgICAgIHRoaXMtPmVtaXRFeGNlcHRpb25D
aGVjayhqaXQsIEV4Y2VwdGlvblR5cGU6OlVucmVhY2hhYmxlKTsKICAgICB9KTsKICAgICB1bnJl
YWNoYWJsZS0+ZWZmZWN0cy50ZXJtaW5hbCA9IHRydWU7CiAgICAgcmV0dXJuIHsgfTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21FeGNlcHRpb25UeXBlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUV4Y2VwdGlvblR5cGUuaAkocmV2
aXNpb24gMjEwMDk1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUV4Y2VwdGlv
blR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2FzbSB7
CiAgICAgbWFjcm8oTnVsbFRhYmxlRW50cnksICAiY2FsbF9pbmRpcmVjdCB0byBhIG51bGwgdGFi
bGUgZW50cnkiKSBcCiAgICAgbWFjcm8oQmFkU2lnbmF0dXJlLCAiY2FsbF9pbmRpcmVjdCB0byBh
IHNpZ25hdHVyZSB0aGF0IGRvZXMgbm90IG1hdGNoIikgXAogICAgIG1hY3JvKE91dE9mQm91bmRz
VHJ1bmMsICJPdXQgb2YgYm91bmRzIFRydW5jIG9wZXJhdGlvbiIpIFwKKyAgICBtYWNybyhVbnJl
YWNoYWJsZSwgIlVucmVhY2hhYmxlIGNvZGUgc2hvdWxkIG5vdCBiZSBleGVjdXRlZCIpIFwKIAog
ZW51bSBjbGFzcyBFeGNlcHRpb25UeXBlIDogdWludDMyX3QgewogI2RlZmluZSBNQUtFX0VOVU0o
ZW51bU5hbWUsIGVycm9yKSBlbnVtTmFtZSwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZVJlY29yZC5jcHAJKHJldmlz
aW9uIDIxMDA5NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5
TW9kdWxlUmVjb3JkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDggKzEyNSw2IEBAIHZvaWQg
V2ViQXNzZW1ibHlNb2R1bGVSZWNvcmQ6OmxpbmsoRXhlY1MKICAgICAgICAgICAgIGNvbnN0IFdh
c206OlNpZ25hdHVyZSogc2lnbmF0dXJlID0gV2FzbTo6U2lnbmF0dXJlSW5mb3JtYXRpb246Omdl
dCgmdm0sIHNpZ25hdHVyZUluZGV4KTsKICAgICAgICAgICAgIFdlYkFzc2VtYmx5RnVuY3Rpb24q
IGZ1bmN0aW9uID0gV2ViQXNzZW1ibHlGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3Qs
IHNpZ25hdHVyZS0+YXJndW1lbnRDb3VudCgpLCBleHAuZmllbGQuc3RyaW5nKCksIGluc3RhbmNl
LCBqc0VudHJ5cG9pbnRDYWxsZWUsIHdhc21FbnRyeXBvaW50Q2FsbGVlLCBzaWduYXR1cmVJbmRl
eCk7CiAgICAgICAgICAgICBleHBvcnRlZFZhbHVlID0gZnVuY3Rpb247Ci0gICAgICAgICAgICBp
ZiAoaGFzU3RhcnQgJiYgc3RhcnRGdW5jdGlvbkluZGV4U3BhY2UgPT0gZXhwLmtpbmRJbmRleCkK
LSAgICAgICAgICAgICAgICBtX3N0YXJ0RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBmdW5jdGlvbik7
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIFdhc206OkV4dGVy
bmFsS2luZDo6VGFibGU6IHsKQEAgLTE4NSwxMSArMTgzLDE1IEBAIHZvaWQgV2ViQXNzZW1ibHlN
b2R1bGVSZWNvcmQ6OmxpbmsoRXhlY1MKICAgICAgICAgQVNTRVJUKHNpZ25hdHVyZS0+cmV0dXJu
VHlwZSgpID09IFdhc206OlZvaWQpOwogICAgICAgICAvLyBGSVhNRSBjYW4gc3RhcnQgY2FsbCBp
bXBvcnRzIC8gdGFibGVzPyBUaGlzIGFzc3VtZXMgbm90LiBodHRwczovL2dpdGh1Yi5jb20vV2Vi
QXNzZW1ibHkvZGVzaWduL2lzc3Vlcy84OTYKICAgICAgICAgaWYgKCFtX3N0YXJ0RnVuY3Rpb24u
Z2V0KCkpIHsKLSAgICAgICAgICAgIC8vIFRoZSBzdGFydCBmdW5jdGlvbiB3YXNuJ3QgYWRkZWQg
YWJvdmUuIEl0IG11c3QgYmUgYSBwdXJlbHkgaW50ZXJuYWwgZnVuY3Rpb24uCi0gICAgICAgICAg
ICBKU1dlYkFzc2VtYmx5Q2FsbGVlKiBqc0VudHJ5cG9pbnRDYWxsZWUgPSBtb2R1bGUtPmpzRW50
cnlwb2ludENhbGxlZUZyb21GdW5jdGlvbkluZGV4U3BhY2Uoc3RhcnRGdW5jdGlvbkluZGV4U3Bh
Y2UpOwotICAgICAgICAgICAgSlNXZWJBc3NlbWJseUNhbGxlZSogd2FzbUVudHJ5cG9pbnRDYWxs
ZWUgPSBtb2R1bGUtPndhc21FbnRyeXBvaW50Q2FsbGVlRnJvbUZ1bmN0aW9uSW5kZXhTcGFjZShz
dGFydEZ1bmN0aW9uSW5kZXhTcGFjZSk7Ci0gICAgICAgICAgICBXZWJBc3NlbWJseUZ1bmN0aW9u
KiBmdW5jdGlvbiA9IFdlYkFzc2VtYmx5RnVuY3Rpb246OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0
LCBzaWduYXR1cmUtPmFyZ3VtZW50Q291bnQoKSwgInN0YXJ0IiwgaW5zdGFuY2UsIGpzRW50cnlw
b2ludENhbGxlZSwgd2FzbUVudHJ5cG9pbnRDYWxsZWUsIHNpZ25hdHVyZUluZGV4KTsKLSAgICAg
ICAgICAgIG1fc3RhcnRGdW5jdGlvbi5zZXQodm0sIHRoaXMsIGZ1bmN0aW9uKTsKKyAgICAgICAg
ICAgIGlmIChzdGFydEZ1bmN0aW9uSW5kZXhTcGFjZSA8IG1vZHVsZS0+aW1wb3J0Q291bnQoKSkg
eworICAgICAgICAgICAgICAgIEpTQ2VsbCogc3RhcnRGdW5jdGlvbiA9IGluc3RhbmNlLT5pbXBv
cnRGdW5jdGlvbihzdGFydEZ1bmN0aW9uSW5kZXhTcGFjZSktPmdldCgpOworICAgICAgICAgICAg
ICAgIG1fc3RhcnRGdW5jdGlvbi5zZXQodm0sIHRoaXMsIHN0YXJ0RnVuY3Rpb24pOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBKU1dlYkFzc2VtYmx5Q2FsbGVlKiBqc0Vu
dHJ5cG9pbnRDYWxsZWUgPSBtb2R1bGUtPmpzRW50cnlwb2ludENhbGxlZUZyb21GdW5jdGlvbklu
ZGV4U3BhY2Uoc3RhcnRGdW5jdGlvbkluZGV4U3BhY2UpOworICAgICAgICAgICAgICAgIEpTV2Vi
QXNzZW1ibHlDYWxsZWUqIHdhc21FbnRyeXBvaW50Q2FsbGVlID0gbW9kdWxlLT53YXNtRW50cnlw
b2ludENhbGxlZUZyb21GdW5jdGlvbkluZGV4U3BhY2Uoc3RhcnRGdW5jdGlvbkluZGV4U3BhY2Up
OworICAgICAgICAgICAgICAgIFdlYkFzc2VtYmx5RnVuY3Rpb24qIGZ1bmN0aW9uID0gV2ViQXNz
ZW1ibHlGdW5jdGlvbjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QsIHNpZ25hdHVyZS0+YXJndW1l
bnRDb3VudCgpLCAic3RhcnQiLCBpbnN0YW5jZSwganNFbnRyeXBvaW50Q2FsbGVlLCB3YXNtRW50
cnlwb2ludENhbGxlZSwgc2lnbmF0dXJlSW5kZXgpOworICAgICAgICAgICAgICAgIG1fc3RhcnRG
dW5jdGlvbi5zZXQodm0sIHRoaXMsIGZ1bmN0aW9uKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KIApAQCAtMjc1LDEwICsyNzcsMTAgQEAgSlNWYWx1ZSBXZWJBc3NlbWJseU1vZHVs
ZVJlY29yZDo6ZXZhbHVhdAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKFdlYkFzc2VtYmx5
RnVuY3Rpb24qIHN0YXJ0RnVuY3Rpb24gPSBtX3N0YXJ0RnVuY3Rpb24uZ2V0KCkpIHsKLSAgICAg
ICAgUHJvdG9DYWxsRnJhbWUgcHJvdG9DYWxsRnJhbWU7Ci0gICAgICAgIHByb3RvQ2FsbEZyYW1l
LmluaXQobnVsbHB0ciwgc3RhcnRGdW5jdGlvbiwgSlNWYWx1ZSgpLCAxLCBudWxscHRyKTsKLSAg
ICAgICAgc3RhcnRGdW5jdGlvbi0+Y2FsbCh2bSwgJnByb3RvQ2FsbEZyYW1lKTsKKyAgICBpZiAo
SlNDZWxsKiBzdGFydEZ1bmN0aW9uID0gbV9zdGFydEZ1bmN0aW9uLmdldCgpKSB7CisgICAgICAg
IENhbGxEYXRhIGNhbGxEYXRhOworICAgICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9IEpTQzo6Z2V0
Q2FsbERhdGEoc3RhcnRGdW5jdGlvbiwgY2FsbERhdGEpOworICAgICAgICBjYWxsKHN0YXRlLCBz
dGFydEZ1bmN0aW9uLCBjYWxsVHlwZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCksIHN0YXRlLT5l
bXB0eUxpc3QoKSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CiAg
ICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1v
ZHVsZVJlY29yZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pz
L1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgJKHJldmlzaW9uIDIxMDA5NSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlUmVjb3JkLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU5LDcgKzU5LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCB2aXNpdENo
aWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CiAKICAgICBXcml0ZUJhcnJpZXI8SlNXZWJB
c3NlbWJseUluc3RhbmNlPiBtX2luc3RhbmNlOwotICAgIFdyaXRlQmFycmllcjxXZWJBc3NlbWJs
eUZ1bmN0aW9uPiBtX3N0YXJ0RnVuY3Rpb247CisgICAgV3JpdGVCYXJyaWVyPEpTQ2VsbD4gbV9z
dGFydEZ1bmN0aW9uOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSlNDCg==
</data>
<flag name="review"
          id="319960"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>