<?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>166437</bug_id>
          
          <creation_ts>2016-12-22 14:51:20 -0800</creation_ts>
          <short_desc>WebAssembly: Make calling Wasm functions that returns or takes an i64 as a parameter an early exception</short_desc>
          <delta_ts>2016-12-22 17:37:14 -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>1262415</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 14:51:20 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262431</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-12-22 15:23:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/29793949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262434</commentid>
    <comment_count>2</comment_count>
      <attachid>297684</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 15:38:09 -0800</bug_when>
    <thetext>Created attachment 297684
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262436</commentid>
    <comment_count>3</comment_count>
      <attachid>297684</attachid>
    <who name="JF Bastien">jfbastien</who>
    <bug_when>2016-12-22 15:49:20 -0800</bug_when>
    <thetext>Comment on attachment 297684
patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262466</commentid>
    <comment_count>4</comment_count>
      <attachid>297684</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-22 17:06:37 -0800</bug_when>
    <thetext>Comment on attachment 297684
patch

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

r=me with some comments. I think there is also an issue if the return value from wasm is an impure nan. It would be great if you could fix that when you land. I think it just needs a purifyNan call.

&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:69
&gt; +                    &quot;WebAssembly function with an int64 argument can&apos;t be called from JavaScript&quot;);

nit &quot;with an i64 argument&quot;

&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:76
&gt; +                &quot;WebAssembly function that returns int64 can&apos;t be called from JavaScript&quot;);

nit &quot;returns an i64&quot;

&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:84
&gt;          JSValue arg = exec-&gt;uncheckedArgument(argIndex);

This should be exec-&gt;argument(argIndex);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262471</commentid>
    <comment_count>5</comment_count>
      <attachid>297684</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 17:14:42 -0800</bug_when>
    <thetext>Comment on attachment 297684
patch

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

&gt;&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:69
&gt;&gt; +                    &quot;WebAssembly function with an int64 argument can&apos;t be called from JavaScript&quot;);
&gt; 
&gt; nit &quot;with an i64 argument&quot;

SGTM

&gt;&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:76
&gt;&gt; +                &quot;WebAssembly function that returns int64 can&apos;t be called from JavaScript&quot;);
&gt; 
&gt; nit &quot;returns an i64&quot;

SGTM

&gt;&gt; Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:84
&gt;&gt;          JSValue arg = exec-&gt;uncheckedArgument(argIndex);
&gt; 
&gt; This should be exec-&gt;argument(argIndex);

We actually check argumentCount above so this isn&apos;t needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262488</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-22 17:37:14 -0800</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/210126</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297684</attachid>
            <date>2016-12-22 15:38:09 -0800</date>
            <delta_ts>2016-12-22 17:06:37 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>9294</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMTAxMTkpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDE2LTEyLTIyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIFdlYkFzc2VtYmx5OiBNYWtlIGNhbGxpbmcgV2FzbSBmdW5jdGlvbnMg
dGhhdCByZXR1cm4gb3IgdGFrZSBpNjQgYXMgYSBwYXJhbWV0ZXIgYW4gZWFybHkgZXhjZXB0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjY0MzcK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5NzkzOTQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2FzbS55YW1sOgorICAgICAgICAqIHdhc20v
ZnVuY3Rpb24tdGVzdHMvaTY0LWZyb20tanMtZXhjZXB0aW9ucy5qczogQWRkZWQuCisgICAgICAg
IChjb25zdC5pbXAuaW1wb3J0LnNpZGVFZmZlY3RzKToKKwogMjAxNi0xMi0yMiAgTWFyayBMYW0g
IDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRGUtZHVwbGljYXRlIGZpbmFsbHkgYmxv
Y2tzLgpJbmRleDogSlNUZXN0cy93YXNtLnlhbWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0cy93YXNt
LnlhbWwJKHJldmlzaW9uIDIxMDExNSkKKysrIEpTVGVzdHMvd2FzbS55YW1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xODgsNyArMTg4LDcgQEAKICAgY21kOiBydW5XZWJBc3NlbWJseVNwZWNUZXN0IDpu
b3JtYWwKIAogLSBwYXRoOiB3YXNtL3NwZWMtdGVzdHMvdW5yZWFjaGFibGUud2FzdC5qcwotICBj
bWQ6IHJ1bldlYkFzc2VtYmx5U3BlY1Rlc3QgOnNraXAKKyAgY21kOiBydW5XZWJBc3NlbWJseVNw
ZWNUZXN0IDpub3JtYWwKIAogLSBwYXRoOiB3YXNtL3NwZWMtdGVzdHMvdW53aW5kLndhc3QuanMK
ICAgY21kOiBydW5XZWJBc3NlbWJseVNwZWNUZXN0IDpza2lwCkluZGV4OiBKU1Rlc3RzL3dhc20v
ZnVuY3Rpb24tdGVzdHMvaTY0LWZyb20tanMtZXhjZXB0aW9ucy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBK
U1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvaTY0LWZyb20tanMtZXhjZXB0aW9ucy5qcwkobm9u
ZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvaTY0LWZyb20tanMtZXhj
ZXB0aW9ucy5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACitpbXBvcnQgQnVpbGRl
ciBmcm9tICcuLi9CdWlsZGVyLmpzJworaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJy4uL2Fzc2Vy
dC5qcycKKworY29uc3QgYnVpbGRlciA9IChuZXcgQnVpbGRlcigpKQorICAgIC5UeXBlKCkuRW5k
KCkKKyAgICAuSW1wb3J0KCkKKyAgICAgICAgLkZ1bmN0aW9uKCJpbXBvcnQiLCAic2lkZUVmZmVj
dHMiLCB7cGFyYW1zOiBbXSwgcmV0OiAidm9pZCJ9KQorICAgIC5FbmQoKQorICAgIC5GdW5jdGlv
bigpLkVuZCgpCisgICAgLkV4cG9ydCgpCisgICAgICAgIC5GdW5jdGlvbigiZm9vIikKKyAgICAg
ICAgLkZ1bmN0aW9uKCJiYXIiKQorICAgIC5FbmQoKQorICAgIC5Db2RlKCkKKyAgICAgICAgLkZ1
bmN0aW9uKCJmb28iLCB7cGFyYW1zOiBbImk2NCJdLCByZXQ6ICJ2b2lkIn0pCisgICAgICAgICAg
ICAuQ2FsbCgwKQorICAgICAgICAgICAgLlJldHVybigpCisgICAgICAgIC5FbmQoKQorICAgICAg
ICAuRnVuY3Rpb24oImJhciIsIHtwYXJhbXM6IFtdLCByZXQ6ICJpNjQifSkKKyAgICAgICAgICAg
IC5DYWxsKDApCisgICAgICAgICAgICAuSTMyQ29uc3QoMjUpCisgICAgICAgICAgICAuSTY0RXh0
ZW5kVUkzMigpCisgICAgICAgICAgICAuUmV0dXJuKCkKKyAgICAgICAgLkVuZCgpCisgICAgLkVu
ZCgpOworCitjb25zdCBiaW4gPSBidWlsZGVyLldlYkFzc2VtYmx5KCkuZ2V0KCk7Citjb25zdCBt
b2R1bGUgPSBuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJpbik7CitsZXQgY2FsbGVkID0gZmFsc2U7
Citjb25zdCBpbXAgPSB7CisgICAgaW1wb3J0OiB7IAorICAgICAgICBzaWRlRWZmZWN0cygpIHsg
Y2FsbGVkID0gdHJ1ZTsgfQorICAgIH0KK307CisKK2NvbnN0IGluc3RhbmNlID0gbmV3IFdlYkFz
c2VtYmx5Lkluc3RhbmNlKG1vZHVsZSwgaW1wKTsKK2Fzc2VydC50aHJvd3MoKCkgPT4gaW5zdGFu
Y2UuZXhwb3J0cy5mb28oMjApLCBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IsICJXZWJBc3NlbWJs
eSBmdW5jdGlvbiB3aXRoIGFuIGludDY0IGFyZ3VtZW50IGNhbid0IGJlIGNhbGxlZCBmcm9tIEph
dmFTY3JpcHQiKTsKK2Fzc2VydC50aHJvd3MoKCkgPT4gaW5zdGFuY2UuZXhwb3J0cy5mb28oe3Zh
bHVlT2YoKSB7IHRocm93IG5ldyBFcnJvcigiU2hvdWxkIG5vdCBiZSBjYWxsZWQhIik7IH19KSwg
V2ViQXNzZW1ibHkuUnVudGltZUVycm9yLCAiV2ViQXNzZW1ibHkgZnVuY3Rpb24gd2l0aCBhbiBp
bnQ2NCBhcmd1bWVudCBjYW4ndCBiZSBjYWxsZWQgZnJvbSBKYXZhU2NyaXB0Iik7Cithc3NlcnQu
dGhyb3dzKCgpID0+IGluc3RhbmNlLmV4cG9ydHMuYmFyKCksIFdlYkFzc2VtYmx5LlJ1bnRpbWVF
cnJvciwgIldlYkFzc2VtYmx5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBpbnQ2NCBjYW4ndCBiZSBj
YWxsZWQgZnJvbSBKYXZhU2NyaXB0Iik7Cithc3NlcnQuZXEoY2FsbGVkLCBmYWxzZSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDExNSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAx
Ni0xMi0yMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJB
c3NlbWJseTogTWFrZSBjYWxsaW5nIFdhc20gZnVuY3Rpb25zIHRoYXQgcmV0dXJuIG9yIHRha2Ug
aTY0IGFzIGEgcGFyYW1ldGVyIGFuIGVhcmx5IGV4Y2VwdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY2NDM3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yOTc5Mzk0OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIG1ha2VzIGl0IHNvIHRoYXQgd2UgdGhyb3cgYW4gZXhjZXB0aW9u
IGJlZm9yZSB3ZSBkbworICAgICAgICBhbnl0aGluZyBlbHNlIGlmIHdlIGNhbGwgYSB3YXNtIGZ1
bmN0aW9uIHRoYXQgZWl0aGVyIHRha2VzIGFuCisgICAgICAgIGk2NCBhcyBhbiBhcmd1bWVudCBv
ciByZXR1cm5zIGFuIGk2NC4KKworICAgICAgICAqIHdhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlv
bi5jcHA6CisgICAgICAgIChKU0M6OmNhbGxXZWJBc3NlbWJseUZ1bmN0aW9uKToKKyAgICAgICAg
KEpTQzo6V2ViQXNzZW1ibHlGdW5jdGlvbjo6V2ViQXNzZW1ibHlGdW5jdGlvbik6CisgICAgICAg
IChKU0M6OldlYkFzc2VtYmx5RnVuY3Rpb246OmNhbGwpOiBEZWxldGVkLgorICAgICAgICAqIHdh
c20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5oOgorICAgICAgICAoSlNDOjpXZWJBc3NlbWJseUZ1
bmN0aW9uOjpzaWduYXR1cmVJbmRleCk6CisgICAgICAgIChKU0M6OldlYkFzc2VtYmx5RnVuY3Rp
b246OmpzRW50cnlwb2ludCk6CisKIDIwMTYtMTItMjIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6IE1ha2UgdGhlIHNwZWMtdGVzdHMvYWRk
cmVzcy53YXN0LmpzIHRlc3QgcGFzcwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20v
anMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5jcHAJKHJldmlzaW9uIDIxMDExNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb24uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiSlNXZWJBc3NlbWJs
eUNhbGxlZS5oIgogI2luY2x1ZGUgIkpTV2ViQXNzZW1ibHlJbnN0YW5jZS5oIgogI2luY2x1ZGUg
IkpTV2ViQXNzZW1ibHlNZW1vcnkuaCIKKyNpbmNsdWRlICJKU1dlYkFzc2VtYmx5UnVudGltZUVy
cm9yLmgiCiAjaW5jbHVkZSAiTExJbnRUaHVua3MuaCIKICNpbmNsdWRlICJQcm90b0NhbGxGcmFt
ZS5oIgogI2luY2x1ZGUgIlZNLmgiCkBAIC01OSw5ICs2MCwyNyBAQCBzdGF0aWMgRW5jb2RlZEpT
VmFsdWUgSlNDX0hPU1RfQ0FMTCBjYWxsCiAgICAgaWYgKGV4ZWMtPmFyZ3VtZW50Q291bnQoKSAh
PSBzaWduYXR1cmUtPmFyZ3VtZW50Q291bnQoKSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZSh0aHJvd0V4Y2VwdGlvbihleGVjLCBzY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IoZXhlYywgZGVmYXVsdFNvdXJjZUFwcGVuZGVyKSkpOwogCisgICAgeworICAgICAgICAv
LyBDaGVjayBpZiB3ZSBoYXZlIGFuIGluY29ycmVjdCBJNjQgdXNlLgorCisgICAgICAgIGZvciAo
dW5zaWduZWQgYXJnSW5kZXggPSAwOyBhcmdJbmRleCA8IHNpZ25hdHVyZS0+YXJndW1lbnRDb3Vu
dCgpOyArK2FyZ0luZGV4KSB7CisgICAgICAgICAgICBpZiAoc2lnbmF0dXJlLT5hcmd1bWVudChh
cmdJbmRleCkgPT0gV2FzbTo6STY0KSB7CisgICAgICAgICAgICAgICAgSlNXZWJBc3NlbWJseVJ1
bnRpbWVFcnJvciogZXJyb3IgPSBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yOjpjcmVhdGUoZXhl
Yywgdm0sIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+V2ViQXNzZW1ibHlSdW50aW1lRXJy
b3JTdHJ1Y3R1cmUoKSwKKyAgICAgICAgICAgICAgICAgICAgIldlYkFzc2VtYmx5IGZ1bmN0aW9u
IHdpdGggYW4gaW50NjQgYXJndW1lbnQgY2FuJ3QgYmUgY2FsbGVkIGZyb20gSmF2YVNjcmlwdCIp
OworICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhyb3dFeGNlcHRpb24o
ZXhlYywgc2NvcGUsIGVycm9yKSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoc2lnbmF0dXJlLT5yZXR1cm5UeXBlKCkgPT0gV2FzbTo6STY0KSB7CisgICAgICAgICAg
ICBKU1dlYkFzc2VtYmx5UnVudGltZUVycm9yKiBlcnJvciA9IEpTV2ViQXNzZW1ibHlSdW50aW1l
RXJyb3I6OmNyZWF0ZShleGVjLCB2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5XZWJB
c3NlbWJseVJ1bnRpbWVFcnJvclN0cnVjdHVyZSgpLAorICAgICAgICAgICAgICAgICJXZWJBc3Nl
bWJseSBmdW5jdGlvbiB0aGF0IHJldHVybnMgaW50NjQgY2FuJ3QgYmUgY2FsbGVkIGZyb20gSmF2
YVNjcmlwdCIpOworICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd0V4Y2Vw
dGlvbihleGVjLCBzY29wZSwgZXJyb3IpKTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIEZJ
WE1FIGlzIHRoaXMgYm94aW5nIGNvcnJlY3Q/IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjQ4NzYKICAgICBWZWN0b3I8SlNWYWx1ZT4gYm94ZWRBcmdzOwotICAgIGZv
ciAodW5zaWduZWQgYXJnSW5kZXggPSAwOyBhcmdJbmRleCA8IGV4ZWMtPmFyZ3VtZW50Q291bnQo
KTsgKythcmdJbmRleCkgeworICAgIGZvciAodW5zaWduZWQgYXJnSW5kZXggPSAwOyBhcmdJbmRl
eCA8IHNpZ25hdHVyZS0+YXJndW1lbnRDb3VudCgpOyArK2FyZ0luZGV4KSB7CiAgICAgICAgIEpT
VmFsdWUgYXJnID0gZXhlYy0+dW5jaGVja2VkQXJndW1lbnQoYXJnSW5kZXgpOwogICAgICAgICBz
d2l0Y2ggKHNpZ25hdHVyZS0+YXJndW1lbnQoYXJnSW5kZXgpKSB7CiAgICAgICAgIGNhc2UgV2Fz
bTo6STMyOgpAQCAtMTAwLDEzICsxMTksNyBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBjYWxsCiAgICAgUHJvdG9DYWxsRnJhbWUgcHJvdG9DYWxsRnJhbWU7CiAgICAgcHJv
dG9DYWxsRnJhbWUuaW5pdChudWxscHRyLCB3YXNtRnVuY3Rpb24sIGZpcnN0QXJndW1lbnQsIGFy
Z0NvdW50LCByZW1haW5pbmdBcmdzKTsKIAotICAgIHJldHVybiB3YXNtRnVuY3Rpb24tPmNhbGwo
dm0sICZwcm90b0NhbGxGcmFtZSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIFdlYkFzc2VtYmx5RnVu
Y3Rpb246OmNhbGwoVk0mIHZtLCBQcm90b0NhbGxGcmFtZSogcHJvdG9DYWxsRnJhbWUpCi17Ci0g
ICAgLy8gU2V0dXAgdGhlIG1lbW9yeSB0aGF0IHRoZSBlbnRyYW5jZSBsb2Fkcy4KLSAgICBpZiAo
SlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5ID0gaW5zdGFuY2UoKS0+bWVtb3J5KCkpIHsKKyAg
ICBpZiAoSlNXZWJBc3NlbWJseU1lbW9yeSogbWVtb3J5ID0gd2FzbUZ1bmN0aW9uLT5pbnN0YW5j
ZSgpLT5tZW1vcnkoKSkgewogICAgICAgICBXYXNtOjpNZW1vcnkqIHdhc21NZW1vcnkgPSBtZW1v
cnktPm1lbW9yeSgpOwogICAgICAgICB2bS50b3BXYXNtTWVtb3J5UG9pbnRlciA9IHdhc21NZW1v
cnktPm1lbW9yeSgpOwogICAgICAgICB2bS50b3BXYXNtTWVtb3J5U2l6ZSA9IHdhc21NZW1vcnkt
PnNpemUoKTsKQEAgLTExNiwxMyArMTI5LDE0IEBAIEVuY29kZWRKU1ZhbHVlIFdlYkFzc2VtYmx5
RnVuY3Rpb246OmNhbGwKICAgICB9CiAKICAgICBKU1dlYkFzc2VtYmx5SW5zdGFuY2UqIHByZXZK
U1dlYkFzc2VtYmx5SW5zdGFuY2UgPSB2bS50b3BKU1dlYkFzc2VtYmx5SW5zdGFuY2U7Ci0gICAg
dm0udG9wSlNXZWJBc3NlbWJseUluc3RhbmNlID0gaW5zdGFuY2UoKTsKLSAgICBBU1NFUlQoaW5z
dGFuY2UoKSk7Ci0gICAgRW5jb2RlZEpTVmFsdWUgcmF3UmVzdWx0ID0gdm1FbnRyeVRvV2FzbSht
X2pzRW50cnlwb2ludC0+ZW50cnlwb2ludCgpLCAmdm0sIHByb3RvQ2FsbEZyYW1lKTsKKyAgICB2
bS50b3BKU1dlYkFzc2VtYmx5SW5zdGFuY2UgPSB3YXNtRnVuY3Rpb24tPmluc3RhbmNlKCk7Cisg
ICAgQVNTRVJUKHdhc21GdW5jdGlvbi0+aW5zdGFuY2UoKSk7CisgICAgRW5jb2RlZEpTVmFsdWUg
cmF3UmVzdWx0ID0gdm1FbnRyeVRvV2FzbSh3YXNtRnVuY3Rpb24tPmpzRW50cnlwb2ludCgpLCAm
dm0sICZwcm90b0NhbGxGcmFtZSk7CiAgICAgdm0udG9wSlNXZWJBc3NlbWJseUluc3RhbmNlID0g
cHJldkpTV2ViQXNzZW1ibHlJbnN0YW5jZTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCB7IH0pOwogCiAgICAgLy8gRklYTUUgaXMgdGhpcyBjb3JyZWN0PyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0ODc2Ci0gICAgc3dpdGNoIChtX3JldHVyblR5cGUp
IHsKKyAgICBzd2l0Y2ggKHNpZ25hdHVyZS0+cmV0dXJuVHlwZSgpKSB7CiAgICAgY2FzZSBXYXNt
OjpWb2lkOgogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
ICAgIGNhc2UgV2FzbTo6STMyOgpAQCAtMTU5LDExICsxNzMsNyBAQCBTdHJ1Y3R1cmUqIFdlYkFz
c2VtYmx5RnVuY3Rpb246OmNyZWF0ZVN0CiBXZWJBc3NlbWJseUZ1bmN0aW9uOjpXZWJBc3NlbWJs
eUZ1bmN0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgU3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIFdhc206OlNpZ25hdHVyZUluZGV4IHNpZ25hdHVyZUluZGV4KQogICAgIDog
QmFzZSh2bSwgZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgLCBtX3NpZ25hdHVyZUluZGV4
KHNpZ25hdHVyZUluZGV4KQotewotICAgIC8vIERvbid0IGNhY2hlIHRoZSBzaWduYXR1cmUgcG9p
bnRlcjogaXQncyBhIGdsb2JhbCBvbiBWTSBhbmQgY2FuIGNoYW5nZSBhcyBuZXcgV2ViQXNzZW1i
bHkuTW9kdWxlIGFyZSBjcmVhdGVkLgotICAgIGNvbnN0IFdhc206OlNpZ25hdHVyZSogc2lnbmF0
dXJlID0gV2FzbTo6U2lnbmF0dXJlSW5mb3JtYXRpb246OmdldCgmdm0sIG1fc2lnbmF0dXJlSW5k
ZXgpOwotICAgIG1fcmV0dXJuVHlwZSA9IHNpZ25hdHVyZS0+cmV0dXJuVHlwZSgpOwotfQoreyB9
CiAKIHZvaWQgV2ViQXNzZW1ibHlGdW5jdGlvbjo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGws
IFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5RnVuY3Rpb24uaAkocmV2aXNpb24gMjEwMTE0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlGdW5jdGlvbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKIAogICAgIEpTV2ViQXNzZW1i
bHlJbnN0YW5jZSogaW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luc3RhbmNlLmdldCgpOyB9
CiAgICAgV2FzbTo6U2lnbmF0dXJlSW5kZXggc2lnbmF0dXJlSW5kZXgoKSBjb25zdCB7IHJldHVy
biBtX3NpZ25hdHVyZUluZGV4OyB9Ci0gICAgRW5jb2RlZEpTVmFsdWUgY2FsbChWTSYsIFByb3Rv
Q2FsbEZyYW1lKik7CiAgICAgdm9pZCogd2FzbUVudHJ5cG9pbnQoKSB7IHJldHVybiBtX3dhc21F
bnRyeXBvaW50LT5lbnRyeXBvaW50KCk7IH0KKyAgICB2b2lkKiBqc0VudHJ5cG9pbnQoKSB7IHJl
dHVybiBtX2pzRW50cnlwb2ludC0+ZW50cnlwb2ludCgpOyB9CiAKIHByb3RlY3RlZDoKICAgICBz
dGF0aWMgdm9pZCB2aXNpdENoaWxkcmVuKEpTQ2VsbCosIFNsb3RWaXNpdG9yJik7CkBAIC02OSw3
ICs2OSw2IEBAIHByaXZhdGU6CiAgICAgV3JpdGVCYXJyaWVyPEpTV2ViQXNzZW1ibHlDYWxsZWU+
IG1fanNFbnRyeXBvaW50OwogICAgIFdyaXRlQmFycmllcjxKU1dlYkFzc2VtYmx5Q2FsbGVlPiBt
X3dhc21FbnRyeXBvaW50OwogICAgIFdhc206OlNpZ25hdHVyZUluZGV4IG1fc2lnbmF0dXJlSW5k
ZXg7Ci0gICAgV2FzbTo6VHlwZSBtX3JldHVyblR5cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBK
U0MK
</data>
<flag name="review"
          id="320000"
          type_id="1"
          status="+"
          setter="keith_miller"
    />
          </attachment>
      

    </bug>

</bugzilla>