<?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>163579</bug_id>
          
          <creation_ts>2016-10-17 19:02:27 -0700</creation_ts>
          <short_desc>Fix how JSFunction handles &quot;caller&quot; and &quot;arguments&quot; for functions that don&apos;t have those properties</short_desc>
          <delta_ts>2021-05-14 04:51:58 -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>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="Caitlin Potter (:caitp)">caitp</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</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>rmorisset</cc>
    
    <cc>saam</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>1241299</commentid>
    <comment_count>0</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-10-17 19:02:27 -0700</bug_when>
    <thetext>The following code in Source/JavaScriptCore/runtime/JSFunction.cpp, added in 2011, could use some investigation/auditing:

```
        // This will trigger the property to be reified, if this is not already the case!
         bool okay = thisObject-&gt;hasProperty(exec, propertyName);
         ASSERT_UNUSED(okay, okay);
         scope.release();
         return Base::put(thisObject, exec, propertyName, value, slot);
```

It&apos;s unclear what the purpose of reifying this is, as the properties in question are not lazy. Base::put() ought to be enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381059</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-12 23:12:32 -0800</bug_when>
    <thetext>It turns out that not only is this not needed, this weird behavior is causing observable side effects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381064</commentid>
    <comment_count>2</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-12 23:35:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/35455798&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381070</commentid>
    <comment_count>3</comment_count>
      <attachid>329211</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 00:02:19 -0800</bug_when>
    <thetext>Created attachment 329211
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381071</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-13 00:05:04 -0800</bug_when>
    <thetext>There&apos;s a chance I need to update test262 test expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381076</commentid>
    <comment_count>5</comment_count>
      <attachid>329211</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-13 00:46:52 -0800</bug_when>
    <thetext>Comment on attachment 329211
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381133</commentid>
    <comment_count>6</comment_count>
      <attachid>329211</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 09:29:25 -0800</bug_when>
    <thetext>Comment on attachment 329211
patch

Clearing flags on attachment: 329211

Committed r225845: &lt;https://trac.webkit.org/changeset/225845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381134</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-13 09:29:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381142</commentid>
    <comment_count>8</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2017-12-13 09:42:16 -0800</bug_when>
    <thetext>👏🙌</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760055</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-14 04:51:58 -0700</bug_when>
    <thetext>*** Bug 157461 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329211</attachid>
            <date>2017-12-13 00:02:19 -0800</date>
            <delta_ts>2017-12-13 09:29:25 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>8831</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjU4NDApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIwIEBACisyMDE3LTEyLTEyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEZpeCBob3cgSlNGdW5jdGlvbiBoYW5kbGVzICJjYWxsZXIiIGFuZCAi
YXJndW1lbnRzIiBmb3IgZnVuY3Rpb25zIHRoYXQgZG9uJ3QgaGF2ZSB0aG9zZSBwcm9wZXJ0aWVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1NzkK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1NDU1Nzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RyZXNzL2NhbGxlci1hbmQtYXJndW1lbnRz
LXByb3BlcnRpZXMtZm9yLWZ1bmN0aW9ucy10aGF0LWRvbnQtaGF2ZS10aGVtLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgICh0ZXN0MSk6CisgICAgICAgIChpLnRlc3QxKToK
KyAgICAgICAgKGkudGVzdDEuQyk6CisgICAgICAgIChpLnRlc3QxLmFzeW5jLmZvbyk6CisgICAg
ICAgIChpLnRlc3QxLmZvbyk6CisgICAgICAgICh0ZXN0Mik6CisKIDIwMTctMTItMTIgIFNhYW0g
QmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgV2UgbmVlZCB0byBtb2RlbCBl
ZmZlY3RzIG9mIFNwcmVhZChAUGhhbnRvbUNyZWF0ZVJlc3QpIGluIENsb2JiZXJpemUvUHJlY2lz
ZUxvY2FsQ2xvYmJlcml6ZQpJbmRleDogSlNUZXN0cy9zdHJlc3MvY2FsbGVyLWFuZC1hcmd1bWVu
dHMtcHJvcGVydGllcy1mb3ItZnVuY3Rpb25zLXRoYXQtZG9udC1oYXZlLXRoZW0uanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9zdHJlc3MvY2FsbGVyLWFuZC1hcmd1bWVudHMtcHJvcGVydGllcy1m
b3ItZnVuY3Rpb25zLXRoYXQtZG9udC1oYXZlLXRoZW0uanMJKG5vbmV4aXN0ZW50KQorKysgSlNU
ZXN0cy9zdHJlc3MvY2FsbGVyLWFuZC1hcmd1bWVudHMtcHJvcGVydGllcy1mb3ItZnVuY3Rpb25z
LXRoYXQtZG9udC1oYXZlLXRoZW0uanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NCBAQAor
ZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJv
cjsKK30KKworZnVuY3Rpb24gdGVzdDEoZikgeworICAgIGYuX19wcm90b19fID0ge307CisgICAg
T2JqZWN0LmRlZmluZVByb3BlcnR5KGYsICJjYWxsZXIiLCB7dmFsdWU6NDJ9KTsKKyAgICBhc3Nl
cnQoZi5jYWxsZXIgPT09IDQyKTsKKyAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZiwgImFyZ3Vt
ZW50cyIsIHt2YWx1ZTozMn0pOworICAgIGFzc2VydChmLmFyZ3VtZW50cyA9PT0gMzIpOworfQor
Zm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsKKyAgICB0ZXN0MShmdW5jdGlvbiAoKSB7
ICJ1c2Ugc3RyaWN0IjsgfSk7CisgICAgdGVzdDEoY2xhc3MgQyB7IH0pOworICAgIHRlc3QxKCgp
ID0+IHVuZGVmaW5lZCk7CisgICAgdGVzdDEoYXN5bmMgZnVuY3Rpb24gZm9vKCl7fSk7CisgICAg
dGVzdDEoZnVuY3Rpb24qIGZvbygpIHsgfSk7Cit9CisKK2Z1bmN0aW9uIHRlc3QyKGYsIHAgPSB7
fSkgeworICAgIGYuX19wcm90b19fID0gcDsKKyAgICBmLmNhbGxlciA9IDQyOworICAgIGFzc2Vy
dChmLmNhbGxlciA9PT0gNDIpOworICAgIGYuYXJndW1lbnRzID0gNDQ7CisgICAgYXNzZXJ0KGYu
YXJndW1lbnRzID09PSA0NCk7Cit9CisKK3sKKyAgICBsZXQgcHJveHkgPSBuZXcgUHJveHkoe30s
IHsKKyAgICAgICAgaGFzKC4uLmFyZ3MpIHsKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
U2hvdWxkIG5vdCBiZSBjYWxsZWQhIik7CisgICAgICAgIH0KKyAgICB9KTsKKyAgICBmb3IgKGxl
dCBpID0gMDsgaSA8IDEwMDA7ICsraSkgeworICAgICAgICB0ZXN0MihmdW5jdGlvbiAoKSB7ICJ1
c2Ugc3RyaWN0IjsgfSwgcHJveHkpOworICAgICAgICB0ZXN0MihjbGFzcyBDIHsgfSwgcHJveHkp
OworICAgICAgICB0ZXN0MigoKSA9PiB1bmRlZmluZWQsIHByb3h5KTsKKyAgICAgICAgdGVzdDIo
YXN5bmMgZnVuY3Rpb24gZm9vKCl7fSwgcHJveHkpOworICAgICAgICB0ZXN0MihmdW5jdGlvbiog
Zm9vKCkgeyB9LCBwcm94eSk7CisgICAgfQorfQorCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDA7
ICsraSkgeworICAgIHRlc3QyKGZ1bmN0aW9uICgpIHsgInVzZSBzdHJpY3QiOyB9KTsKKyAgICB0
ZXN0MihjbGFzcyBDIHsgfSk7CisgICAgdGVzdDIoKCkgPT4gdW5kZWZpbmVkKTsKKyAgICB0ZXN0
Mihhc3luYyBmdW5jdGlvbiBmb28oKXt9KTsKKyAgICB0ZXN0MihmdW5jdGlvbiogZm9vKCkgeyB9
KTsKK30KKworZnVuY3Rpb24gdGVzdDMoZikgeworICAgIGYuX19wcm90b19fID0ge307CisgICAg
Zi5jYWxsZXIgPSA0MjsKKyAgICBhc3NlcnQoZi5jYWxsZXIgPT09IDQyKTsKKyAgICBhc3NlcnQo
Zi5oYXNPd25Qcm9wZXJ0eSgiY2FsbGVyIikpOworICAgIGFzc2VydChkZWxldGUgZi5jYWxsZXIg
PT09IHRydWUpOworICAgIGFzc2VydChmLmNhbGxlciA9PT0gdW5kZWZpbmVkKTsKKyAgICBhc3Nl
cnQoIWYuaGFzT3duUHJvcGVydHkoImNhbGxlciIpKTsKKworICAgIGYuYXJndW1lbnRzID0gNDQ7
CisgICAgYXNzZXJ0KGYuYXJndW1lbnRzID09PSA0NCk7CisgICAgYXNzZXJ0KGYuaGFzT3duUHJv
cGVydHkoImFyZ3VtZW50cyIpKTsKKyAgICBhc3NlcnQoZGVsZXRlIGYuYXJndW1lbnRzID09PSB0
cnVlKTsKKyAgICBhc3NlcnQoZi5hcmd1bWVudHMgPT09IHVuZGVmaW5lZCk7CisgICAgYXNzZXJ0
KCFmLmhhc093blByb3BlcnR5KCJhcmd1bWVudHMiKSk7Cit9Citmb3IgKGxldCBpID0gMDsgaSA8
IDEwMDA7ICsraSkgeworICAgIHRlc3QzKGZ1bmN0aW9uICgpIHsgInVzZSBzdHJpY3QiOyB9KTsK
KyAgICB0ZXN0MyhjbGFzcyBDIHsgfSk7CisgICAgdGVzdDMoKCkgPT4gdW5kZWZpbmVkKTsKKyAg
ICB0ZXN0Myhhc3luYyBmdW5jdGlvbiBmb28oKXt9KTsKKyAgICB0ZXN0MyhmdW5jdGlvbiogZm9v
KCkgeyB9KTsKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI1ODA5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDIzIEBACisyMDE3LTEyLTEyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29t
PgorCisgICAgICAgIEZpeCBob3cgSlNGdW5jdGlvbiBoYW5kbGVzICJjYWxsZXIiIGFuZCAiYXJn
dW1lbnRzIiBmb3IgZnVuY3Rpb25zIHRoYXQgZG9uJ3QgaGF2ZSB0aG9zZSBwcm9wZXJ0aWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjM1NzkKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1NDU1Nzk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFNvbWUgZnVuY3Rpb25zIGluIEphdmFTY3JpcHQgZG8g
bm90IGhhdmUgdGhlICJjYWxsZXIiIGFuZCAiYXJndW1lbnRzIiBwcm9wZXJ0aWVzLgorICAgICAg
ICBGb3IgZXhhbXBsZSwgc3RyaWN0IGZ1bmN0aW9ucyBkbyBub3QuIFdoZW4gcmVhZGluZyBvdXIg
Y29kZSB0aGF0IGRlYWx0IHdpdGggdGhlc2UKKyAgICAgICAgdHlwZXMgb2YgZnVuY3Rpb25zLCBp
dCB3YXMgc2ltcGx5IGFsbCB3cm9uZy4gV2Ugd2VyZSBkb2luZyB3ZWlyZCB0aGluZ3MgZGVwZW5k
aW5nCisgICAgICAgIG9uIHRoZSBtZXRob2QgdGFibGUgaG9vay4gVGhpcyBwYXRjaCBmaXhlcyB0
aGlzIGJ5IGRvaW5nIHdoYXQgd2Ugc2hvdWxkJ3ZlIGJlZW4KKyAgICAgICAgZG9pbmcgYWxsIGFs
b25nOiB3aGVuIHRoZSBKU0Z1bmN0aW9uIGRvZXMgbm90IG93biB0aGUgImNhbGxlciIvImFyZ3Vt
ZW50cyIgcHJvcGVydHksCisgICAgICAgIGl0IHNob3VsZCBkZWZlciB0byBpdHMgYmFzZSBjbGFz
cyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIHZhcmlvdXMgbWV0aG9kIHRhYmxlIGhvb2tzLgorCisg
ICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlv
bjo6cHV0KToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6ZGVsZXRlUHJvcGVydHkpOgorICAg
ICAgICAoSlNDOjpKU0Z1bmN0aW9uOjpkZWZpbmVPd25Qcm9wZXJ0eSk6CisKIDIwMTctMTItMDQg
IEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
bW9kZXJuaXplIEluamVjdGVkU2NyaXB0IGEgYml0CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmNwcAkocmV2aXNpb24gMjI1ODA5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTQ3MSwxNyArNDcxLDExIEBAIGJvb2wgSlNGdW5jdGlvbjo6cHV0KEpTQ2VsbCogY2VsbCwgRXhl
Y1MKICAgICB9CiAKICAgICBpZiAocHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPmFy
Z3VtZW50cyB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+Y2FsbGVyKSB7Ci0g
ICAgICAgIHNsb3QuZGlzYWJsZUNhY2hpbmcoKTsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5q
c0V4ZWN1dGFibGUoKS0+aGFzQ2FsbGVyQW5kQXJndW1lbnRzUHJvcGVydGllcygpKSB7Ci0gICAg
ICAgICAgICAvLyBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgcHJvcGVydHkgdG8gYmUgcmVpZmllZCwg
aWYgdGhpcyBpcyBub3QgYWxyZWFkeSB0aGUgY2FzZSEKLSAgICAgICAgICAgIC8vIEZJWE1FOiBJ
bnZlc3RpZ2F0ZSBpZiB0aGUgYGhhc1Byb3BlcnR5KClgIGNhbGwgaXMgZXZlbiBuZWVkZWQsIGFz
IGluIHRoZSBgIWhhc0NhbGxlckFuZEFyZ3VtZW50c1Byb3BlcnRpZXMoKWAgY2FzZSwKLSAgICAg
ICAgICAgIC8vIHRoZXNlIHByb3BlcnRpZXMgYXJlIG5vdCBsYXp5IGFuZCBzaG91bGQgbm90IG5l
ZWQgdG8gYmUgcmVpZmllZC4gKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjM1NzkpCi0gICAgICAgICAgICBib29sIG9rYXkgPSB0aGlzT2JqZWN0LT5oYXNQcm9wZXJ0
eShleGVjLCBwcm9wZXJ0eU5hbWUpOwotICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgZmFsc2UpOwotICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChva2F5LCBva2F5KTsKICAg
ICAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgICAgIHJldHVybiBCYXNlOjpwdXQo
dGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAgICAgICAgIH0K
KyAgICAgICAgc2xvdC5kaXNhYmxlQ2FjaGluZygpOwogICAgICAgICByZXR1cm4gdHlwZUVycm9y
KGV4ZWMsIHNjb3BlLCBzbG90LmlzU3RyaWN0TW9kZSgpLCBBU0NJSUxpdGVyYWwoUmVhZG9ubHlQ
cm9wZXJ0eVdyaXRlRXJyb3IpKTsKICAgICB9CiAgICAgUHJvcGVydHlTdGF0dXMgcHJvcGVydHlU
eXBlID0gdGhpc09iamVjdC0+cmVpZnlMYXp5UHJvcGVydHlJZk5lZWRlZCh2bSwgZXhlYywgcHJv
cGVydHlOYW1lKTsKQEAgLTUwMSw4ICs0OTUsOCBAQCBib29sIEpTRnVuY3Rpb246OmRlbGV0ZVBy
b3BlcnR5KEpTQ2VsbCogCiAgICAgICAgIC8vIEZvciBub24taG9zdCBmdW5jdGlvbnMsIGRvbid0
IGxldCB0aGVzZSBwcm9wZXJ0aWVzIGJ5IGRlbGV0ZWQgLSBleGNlcHQgYnkgRGVmaW5lT3duUHJv
cGVydHkuCiAgICAgICAgIEZ1bmN0aW9uRXhlY3V0YWJsZSogZXhlY3V0YWJsZSA9IHRoaXNPYmpl
Y3QtPmpzRXhlY3V0YWJsZSgpOwogICAgICAgICAKLSAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA9
PSB2bS5wcm9wZXJ0eU5hbWVzLT5jYWxsZXIgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5
TmFtZXMtPmFyZ3VtZW50cykKLSAgICAgICAgICAgIHJldHVybiAhZXhlY3V0YWJsZS0+aGFzQ2Fs
bGVyQW5kQXJndW1lbnRzUHJvcGVydGllcygpOworICAgICAgICBpZiAoKHByb3BlcnR5TmFtZSA9
PSB2bS5wcm9wZXJ0eU5hbWVzLT5jYWxsZXIgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5
TmFtZXMtPmFyZ3VtZW50cykgJiYgZXhlY3V0YWJsZS0+aGFzQ2FsbGVyQW5kQXJndW1lbnRzUHJv
cGVydGllcygpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAgIGlmIChwcm9w
ZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlICYmICFleGVjdXRhYmxlLT5p
c0Fycm93RnVuY3Rpb24oKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTUzOSwyOCAr
NTMzLDEyIEBAIGJvb2wgSlNGdW5jdGlvbjo6ZGVmaW5lT3duUHJvcGVydHkoSlNPYmoKICAgICBi
b29sIHZhbHVlQ2hlY2s7CiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5hbWVz
LT5hcmd1bWVudHMpIHsKICAgICAgICAgaWYgKCF0aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKS0+
aGFzQ2FsbGVyQW5kQXJndW1lbnRzUHJvcGVydGllcygpKSB7Ci0gICAgICAgICAgICBpZiAodGhp
c09iamVjdC0+anNFeGVjdXRhYmxlKCktPmlzQ2xhc3MoKSkgewotICAgICAgICAgICAgICAgIHRo
aXNPYmplY3QtPnJlaWZ5TGF6eVByb3BlcnR5SWZOZWVkZWQodm0sIGV4ZWMsIHByb3BlcnR5TmFt
ZSk7Ci0gICAgICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgICAgICAgICAgICAgIHJl
dHVybiBCYXNlOjpkZWZpbmVPd25Qcm9wZXJ0eShvYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwg
ZGVzY3JpcHRvciwgdGhyb3dFeGNlcHRpb24pOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
UHJvcGVydHlTbG90IHNsb3QodGhpc09iamVjdCwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhv
ZFR5cGU6OlZNSW5xdWlyeSk7Ci0gICAgICAgICAgICBpZiAoIUJhc2U6OmdldE93blByb3BlcnR5
U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpKQotICAgICAgICAgICAg
ICAgIHRoaXNPYmplY3QtPnB1dERpcmVjdEFjY2Vzc29yKGV4ZWMsIHByb3BlcnR5TmFtZSwgdGhp
c09iamVjdC0+Z2xvYmFsT2JqZWN0KHZtKS0+dGhyb3dUeXBlRXJyb3JBcmd1bWVudHNDYWxsZWVB
bmRDYWxsZXJHZXR0ZXJTZXR0ZXIoKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6QWNjZXNzb3Ip
OwogICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICAgICAgcmV0dXJuIEJhc2U6
OmRlZmluZU93blByb3BlcnR5KG9iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9y
LCB0aHJvd0V4Y2VwdGlvbik7CiAgICAgICAgIH0KICAgICAgICAgdmFsdWVDaGVjayA9ICFkZXNj
cmlwdG9yLnZhbHVlKCkgfHwgc2FtZVZhbHVlKGV4ZWMsIGRlc2NyaXB0b3IudmFsdWUoKSwgcmV0
cmlldmVBcmd1bWVudHMoZXhlYywgdGhpc09iamVjdCkpOwogICAgIH0gZWxzZSBpZiAocHJvcGVy
dHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMtPmNhbGxlcikgewogICAgICAgICBpZiAoIXRoaXNP
YmplY3QtPmpzRXhlY3V0YWJsZSgpLT5oYXNDYWxsZXJBbmRBcmd1bWVudHNQcm9wZXJ0aWVzKCkp
IHsKLSAgICAgICAgICAgIGlmICh0aGlzT2JqZWN0LT5qc0V4ZWN1dGFibGUoKS0+aXNDbGFzcygp
KSB7Ci0gICAgICAgICAgICAgICAgdGhpc09iamVjdC0+cmVpZnlMYXp5UHJvcGVydHlJZk5lZWRl
ZCh2bSwgZXhlYywgcHJvcGVydHlOYW1lKTsKLSAgICAgICAgICAgICAgICBzY29wZS5yZWxlYXNl
KCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIEJhc2U6OmRlZmluZU93blByb3BlcnR5KG9iamVj
dCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlwdG9yLCB0aHJvd0V4Y2VwdGlvbik7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgICBQcm9wZXJ0eVNsb3Qgc2xvdCh0aGlzT2JqZWN0LCBQcm9w
ZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6Vk1JbnF1aXJ5KTsKLSAgICAgICAgICAgIGlm
ICghQmFzZTo6Z2V0T3duUHJvcGVydHlTbG90KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFt
ZSwgc2xvdCkpCi0gICAgICAgICAgICAgICAgdGhpc09iamVjdC0+cHV0RGlyZWN0QWNjZXNzb3Io
ZXhlYywgcHJvcGVydHlOYW1lLCB0aGlzT2JqZWN0LT5nbG9iYWxPYmplY3Qodm0pLT50aHJvd1R5
cGVFcnJvckFyZ3VtZW50c0NhbGxlZUFuZENhbGxlckdldHRlclNldHRlcigpLCBQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSB8IFByb3Bl
cnR5QXR0cmlidXRlOjpBY2Nlc3Nvcik7CiAgICAgICAgICAgICBzY29wZS5yZWxlYXNlKCk7CiAg
ICAgICAgICAgICByZXR1cm4gQmFzZTo6ZGVmaW5lT3duUHJvcGVydHkob2JqZWN0LCBleGVjLCBw
cm9wZXJ0eU5hbWUsIGRlc2NyaXB0b3IsIHRocm93RXhjZXB0aW9uKTsKICAgICAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>