<?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>64657</bug_id>
          
          <creation_ts>2011-07-16 15:00:51 -0700</creation_ts>
          <short_desc>Converted this value not preserved when accessed via direct eval.</short_desc>
          <delta_ts>2011-07-16 22:05:13 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>javascript:function f(x) { eval(&quot;this.x = 2&quot;); eval(&quot;alert(this.x)&quot;); } f.call(1);</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438183</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-16 15:00:51 -0700</bug_when>
    <thetext>Upon entry into a non-strcict function primitive types should be boxed as an Object type - which we do using op_convert_this.  However we omit to convert this where this is not used within the function.  The problem comes if a direct eval (running within the function&apos;s scope) accesses this.  We are safe in the case of a single eval, since the this object will be converted within callEval, however the converted value is not preserved, and is freshly converted each time eval is invoked.  This is inefficient and incorrect, since any changes to this will be lost between eval statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438192</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-16 15:52:47 -0700</bug_when>
    <thetext>Lemme try that description thing again.

Upon entry into a non-strict function, primitive this values should be boxed as Object types (or substituted with the global object) - which is done by op_convert_this.  However we only do so where this is used lexically within the function (we omit the conversion op if not).  The problem comes if a direct eval (running within the function&apos;s scope) accesses the this value.

We are safe in the case of a single eval, since the this object will be converted within callEval, however the converted value is not preserved, and a new wrapper object is allocated each time eval is invoked.  This is inefficient and incorrect, since any changes to the wrapper object will be lost between eval statements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438193</commentid>
    <comment_count>2</comment_count>
      <attachid>101103</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-16 15:54:06 -0700</bug_when>
    <thetext>Created attachment 101103
Preliminary patch, need ChangeLog &amp; layout test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438212</commentid>
    <comment_count>3</comment_count>
      <attachid>101106</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-16 17:30:16 -0700</bug_when>
    <thetext>Created attachment 101106
The patch, with layout test &amp; correct strict mode behaviour</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438251</commentid>
    <comment_count>4</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-07-16 22:05:13 -0700</bug_when>
    <thetext>Fixed in r91164</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101103</attachid>
            <date>2011-07-16 15:54:06 -0700</date>
            <delta_ts>2011-07-16 17:30:16 -0700</delta_ts>
            <desc>Preliminary patch, need ChangeLog &amp; layout test.</desc>
            <filename>64657.patch</filename>
            <type>text/plain</type>
            <size>3353</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJl
dGVyLmNwcAkocmV2aXNpb24gOTExNTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTUsNiArNDU1LDExIEBA
IE5FVkVSX0lOTElORSBKU1ZhbHVlIEludGVycHJldGVyOjpjYWxsRXYKIAogICAgIEpTVmFsdWUg
dGhpc1ZhbHVlID0gY2FsbEZyYW1lLT51bmNoZWNrZWRSKGNvZGVCbG9jay0+dGhpc1JlZ2lzdGVy
KCkpLmpzVmFsdWUoKTsKICAgICBBU1NFUlQoaXNWYWxpZFRoaXNPYmplY3QodGhpc1ZhbHVlLCBj
YWxsRnJhbWUpKTsKKyAgICBpZiAodGhpc1ZhbHVlLmlzUHJpbWl0aXZlKCkpIHsKKyAgICAgICAg
dGhpc1ZhbHVlID0gdGhpc1ZhbHVlLnRvVGhpc09iamVjdChjYWxsRnJhbWUpOworICAgICAgICBj
YWxsRnJhbWUtPnVuY2hlY2tlZFIoY29kZUJsb2NrLT50aGlzUmVnaXN0ZXIoKSkgPSB0aGlzVmFs
dWU7CisgICAgfQorCiAgICAgcmV0dXJuIGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmludGVycHJl
dGVyLT5leGVjdXRlKGV2YWwsIGNhbGxGcmFtZSwgdGhpc1ZhbHVlLCBjYWxsRnJhbWUtPnJlZ2lz
dGVycygpIC0gcmVnaXN0ZXJGaWxlLT5iZWdpbigpICsgcmVnaXN0ZXJPZmZzZXQsIHNjb3BlQ2hh
aW4pOwogfQogCkBAIC0xMjQwLDcgKzEyNDUsNyBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpleGVj
dXRlKEV2YWxFeGVjdXRhCiAKICAgICBBU1NFUlQoY29kZUJsb2NrLT5tX251bVBhcmFtZXRlcnMg
PT0gMSk7IC8vIDEgcGFyYW1ldGVyIGZvciAndGhpcycuCiAgICAgbmV3Q2FsbEZyYW1lLT5pbml0
KGNvZGVCbG9jaywgMCwgc2NvcGVDaGFpbiwgY2FsbEZyYW1lLT5hZGRIb3N0Q2FsbEZyYW1lRmxh
ZygpLCBjb2RlQmxvY2stPm1fbnVtUGFyYW1ldGVycywgMCk7Ci0gICAgbmV3Q2FsbEZyYW1lLT51
bmNoZWNrZWRSKG5ld0NhbGxGcmFtZS0+aG9zdFRoaXNSZWdpc3RlcigpKSA9IHRoaXNWYWx1ZS50
b1RoaXNPYmplY3QobmV3Q2FsbEZyYW1lKTsKKyAgICBuZXdDYWxsRnJhbWUtPnVuY2hlY2tlZFIo
bmV3Q2FsbEZyYW1lLT5ob3N0VGhpc1JlZ2lzdGVyKCkpID0gdGhpc1ZhbHVlOwogCiAgICAgUHJv
ZmlsZXIqKiBwcm9maWxlciA9IFByb2ZpbGVyOjplbmFibGVkUHJvZmlsZXJSZWZlcmVuY2UoKTsK
ICAgICBpZiAoKnByb2ZpbGVyKQpAQCAtNDYyMSw3ICs0NjI2LDcgQEAgc2tpcF9pZF9jdXN0b21f
c2VsZjoKIAogICAgICAgICBpbnQgdGhpc1JlZ2lzdGVyID0gdlBDWzFdLnUub3BlcmFuZDsKICAg
ICAgICAgSlNWYWx1ZSB0aGlzVmFsID0gY2FsbEZyYW1lLT5yKHRoaXNSZWdpc3RlcikuanNWYWx1
ZSgpOwotICAgICAgICBpZiAoIXRoaXNWYWwuaXNDZWxsKCkgfHwgdGhpc1ZhbC5pc1N0cmluZygp
KQorICAgICAgICBpZiAodGhpc1ZhbC5pc1ByaW1pdGl2ZSgpKQogICAgICAgICAgICAgY2FsbEZy
YW1lLT51bmNoZWNrZWRSKHRoaXNSZWdpc3RlcikgPSBKU1ZhbHVlKHRoaXNWYWwudG9UaGlzT2Jq
ZWN0KGNhbGxGcmFtZSkpOwogCiAgICAgICAgIHZQQyArPSBPUENPREVfTEVOR1RIKG9wX2NvbnZl
cnRfdGhpcyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAkocmV2
aXNpb24gOTExNTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTI4MCw3ICsxMjgwLDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04o
RW5jb2RlZEpTVmFsdWUsIG9wXwogICAgIEpTVmFsdWUgdjEgPSBzdGFja0ZyYW1lLmFyZ3NbMF0u
anNWYWx1ZSgpOwogICAgIENhbGxGcmFtZSogY2FsbEZyYW1lID0gc3RhY2tGcmFtZS5jYWxsRnJh
bWU7CiAKLSAgICBBU1NFUlQoIXYxLmlzQ2VsbCgpIHx8IHYxLmlzU3RyaW5nKCkpOworICAgIEFT
U0VSVCh2MS5pc1ByaW1pdGl2ZSgpKTsKIAogICAgIEpTT2JqZWN0KiByZXN1bHQgPSB2MS50b1Ro
aXNPYmplY3QoY2FsbEZyYW1lKTsKICAgICBDSEVDS19GT1JfRVhDRVBUSU9OX0FUX0VORCgpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHJldmlzaW9uIDkxMTUy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNDZWxsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIwOCw2ICsyMDgsMTEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBp
c0NlbGwoKSAmJiBhc0NlbGwoKS0+aXNTdHJpbmcoKTsKICAgICB9CiAKKyAgICBpbmxpbmUgYm9v
bCBKU1ZhbHVlOjppc1ByaW1pdGl2ZSgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gIWlz
Q2VsbCgpIHx8IGFzQ2VsbCgpLT5pc1N0cmluZygpOworICAgIH0KKwogICAgIGlubGluZSBib29s
IEpTVmFsdWU6OmlzR2V0dGVyU2V0dGVyKCkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBp
c0NlbGwoKSAmJiBhc0NlbGwoKS0+aXNHZXR0ZXJTZXR0ZXIoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgJKHJldmlzaW9uIDkxMTUyKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNiAr
MTUyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIGJvb2wgaXNCb29sZWFuKCkgY29uc3Q7
CiAgICAgICAgIGJvb2wgaXNOdW1iZXIoKSBjb25zdDsKICAgICAgICAgYm9vbCBpc1N0cmluZygp
IGNvbnN0OworICAgICAgICBib29sIGlzUHJpbWl0aXZlKCkgY29uc3Q7CiAgICAgICAgIGJvb2wg
aXNHZXR0ZXJTZXR0ZXIoKSBjb25zdDsKICAgICAgICAgYm9vbCBpc09iamVjdCgpIGNvbnN0Owog
ICAgICAgICBib29sIGluaGVyaXRzKGNvbnN0IENsYXNzSW5mbyopIGNvbnN0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101106</attachid>
            <date>2011-07-16 17:30:16 -0700</date>
            <delta_ts>2011-07-16 19:51:24 -0700</delta_ts>
            <desc>The patch, with layout test &amp; correct strict mode behaviour</desc>
            <filename>64657.2.patch</filename>
            <type>text/plain</type>
            <size>8458</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTExNTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzggQEAK
KzIwMTEtMDctMTYgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY1Nwor
ICAgICAgICBDb252ZXJ0ZWQgdGhpcyB2YWx1ZSBub3QgcHJlc2VydmVkIHdoZW4gYWNjZXNzZWQg
dmlhIGRpcmVjdCBldmFsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFVwb24gZW50cnkgaW50byBhIG5vbi1zdHJpY3QgZnVuY3Rpb24sIHByaW1pdGl2
ZSB0aGlzIHZhbHVlcyBzaG91bGQgYmUgYm94ZWQgYXMgT2JqZWN0IHR5cGVzCisgICAgICAgIChv
ciBzdWJzdGl0dXRlZCB3aXRoIHRoZSBnbG9iYWwgb2JqZWN0KSAtIHdoaWNoIGlzIGRvbmUgYnkg
b3BfY29udmVydF90aGlzLiBIb3dldmVyIHdlIG9ubHkKKyAgICAgICAgZG8gc28gd2hlcmUgdGhp
cyBpcyB1c2VkIGxleGljYWxseSB3aXRoaW4gdGhlIGZ1bmN0aW9uICh3ZSBvbWl0IHRoZSBjb252
ZXJzaW9uIG9wIGlmIG5vdCkuCisgICAgICAgIFRoZSBwcm9ibGVtIGNvbWVzIGlmIGEgZGlyZWN0
IGV2YWwgKHJ1bm5pbmcgd2l0aGluIHRoZSBmdW5jdGlvbidzIHNjb3BlKSBhY2Nlc3NlcyB0aGUg
dGhpcworICAgICAgICB2YWx1ZS4KKworICAgICAgICBXZSBhcmUgc2FmZSBpbiB0aGUgY2FzZSBv
ZiBhIHNpbmdsZSBldmFsLCBzaW5jZSB0aGUgdGhpcyBvYmplY3Qgd2lsbCBiZSBjb252ZXJ0ZWQg
d2l0aGluCisgICAgICAgIGNhbGxFdmFsLCBob3dldmVyIHRoZSBjb252ZXJ0ZWQgdmFsdWUgaXMg
bm90IHByZXNlcnZlZCwgYW5kIGEgbmV3IHdyYXBwZXIgb2JqZWN0IGlzIGFsbG9jYXRlZAorICAg
ICAgICBlYWNoIHRpbWUgZXZhbCBpcyBpbnZva2VkLiBUaGlzIGlzIGluZWZmaWNpZW50IGFuZCBp
bmNvcnJlY3QsIHNpbmNlIGFueSBjaGFuZ2VzIHRvIHRoZSB3cmFwcGVyCisgICAgICAgIG9iamVj
dCB3aWxsIGJlIGxvc3QgYmV0d2VlbiBldmFsIHN0YXRlbWVudHMuCisKKyAgICAgICAgKiBieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwOgorICAgICAgICAoSlNDOjpCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IpOgorICAgICAgICAgICAgLSBJZiBhIGZ1bmN0aW9u
IHVzZXMgZXZhbCwgd2UgYWx3YXlzIG5lZWQgdG8gY29udmVydCB0aGlzLgorICAgICAgICAqIGlu
dGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6SW50ZXJwcmV0ZXI6OmV4
ZWN1dGUpOgorICAgICAgICAgICAgLSBEb24ndCBjb252ZXJ0IHByaW1pdGl2ZSB2YWx1ZXMgaGVy
ZSAtIHRoaXMgaXMgdG9vIGxhdGUhCisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpwcml2YXRl
RXhlY3V0ZSk6CisgICAgICAgICAgICAtIENoYW5nZWQgb3BfY29udmVydF90aGlzIHRvIGNhbGwg
bmV3IGlzUHJpbWl0aXZlIG1ldGhvZC4KKyAgICAgICAgKiBqaXQvSklUU3R1YnMuY3BwOgorICAg
ICAgICAoSlNDOjpERUZJTkVfU1RVQl9GVU5DVElPTik6CisgICAgICAgICAgICAtIENoYW5nZWQg
b3BfY29udmVydF90aGlzIHRvIGNhbGwgbmV3IGlzUHJpbWl0aXZlIG1ldGhvZC4KKyAgICAgICAg
KiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAoSlNDOjpKU0NlbGw6OkpTVmFsdWU6OmlzUHJp
bWl0aXZlKToKKyAgICAgICAgICAgIC0gQWRkZWQgSlNWYWx1ZTo6aXNQcmltaXRpdmUuCisgICAg
ICAgICogcnVudGltZS9KU1ZhbHVlLmg6CisgICAgICAgICAgICAtIEFkZGVkIEpTVmFsdWU6Omlz
UHJpbWl0aXZlLgorCiAyMDExLTA3LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgREZHIHNwZWN1bGF0aXZlIEpJVCBoYXMgZGVhZCBjb2RlIGZvciBzbG93IGNh
bGxzIGZvciBicmFuY2hlcy4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiA5MTExNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MTMsMTEgKzQxMyw5IEBAIEJ5dGVjb2RlR2VuZXJhdG9y
OjpCeXRlY29kZUdlbmVyYXRvcihGdW4KICAgICAgICAgZW1pdE9wY29kZShvcF9jcmVhdGVfdGhp
cyk7CiAgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVuZChtX3RoaXNSZWdpc3Rlci5pbmRleCgp
KTsKICAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGZ1bmNQcm90by0+aW5kZXgoKSk7Ci0g
ICAgfSBlbHNlIGlmIChmdW5jdGlvbkJvZHktPnVzZXNUaGlzKCkgfHwgbV9zaG91bGRFbWl0RGVi
dWdIb29rcykgewotICAgICAgICBpZiAoIWNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkpIHsKLSAg
ICAgICAgICAgIGVtaXRPcGNvZGUob3BfY29udmVydF90aGlzKTsKLSAgICAgICAgICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZChtX3RoaXNSZWdpc3Rlci5pbmRleCgpKTsKLSAgICAgICAgfQorICAg
IH0gZWxzZSBpZiAoIWNvZGVCbG9jay0+aXNTdHJpY3RNb2RlKCkgJiYgKGZ1bmN0aW9uQm9keS0+
dXNlc1RoaXMoKSB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCkgfHwgbV9zaG91bGRFbWl0RGVidWdI
b29rcykpIHsKKyAgICAgICAgZW1pdE9wY29kZShvcF9jb252ZXJ0X3RoaXMpOworICAgICAgICBp
bnN0cnVjdGlvbnMoKS5hcHBlbmQobV90aGlzUmVnaXN0ZXIuaW5kZXgoKSk7CiAgICAgfQogfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAJKHJldmlzaW9uIDkxMTE2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0MCw3ICsxMjQwLDcg
QEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShFdmFsRXhlY3V0YQogCiAgICAgQVNTRVJU
KGNvZGVCbG9jay0+bV9udW1QYXJhbWV0ZXJzID09IDEpOyAvLyAxIHBhcmFtZXRlciBmb3IgJ3Ro
aXMnLgogICAgIG5ld0NhbGxGcmFtZS0+aW5pdChjb2RlQmxvY2ssIDAsIHNjb3BlQ2hhaW4sIGNh
bGxGcmFtZS0+YWRkSG9zdENhbGxGcmFtZUZsYWcoKSwgY29kZUJsb2NrLT5tX251bVBhcmFtZXRl
cnMsIDApOwotICAgIG5ld0NhbGxGcmFtZS0+dW5jaGVja2VkUihuZXdDYWxsRnJhbWUtPmhvc3RU
aGlzUmVnaXN0ZXIoKSkgPSB0aGlzVmFsdWUudG9UaGlzT2JqZWN0KG5ld0NhbGxGcmFtZSk7Cisg
ICAgbmV3Q2FsbEZyYW1lLT51bmNoZWNrZWRSKG5ld0NhbGxGcmFtZS0+aG9zdFRoaXNSZWdpc3Rl
cigpKSA9IHRoaXNWYWx1ZTsKIAogICAgIFByb2ZpbGVyKiogcHJvZmlsZXIgPSBQcm9maWxlcjo6
ZW5hYmxlZFByb2ZpbGVyUmVmZXJlbmNlKCk7CiAgICAgaWYgKCpwcm9maWxlcikKQEAgLTQ2MjEs
NyArNDYyMSw3IEBAIHNraXBfaWRfY3VzdG9tX3NlbGY6CiAKICAgICAgICAgaW50IHRoaXNSZWdp
c3RlciA9IHZQQ1sxXS51Lm9wZXJhbmQ7CiAgICAgICAgIEpTVmFsdWUgdGhpc1ZhbCA9IGNhbGxG
cmFtZS0+cih0aGlzUmVnaXN0ZXIpLmpzVmFsdWUoKTsKLSAgICAgICAgaWYgKCF0aGlzVmFsLmlz
Q2VsbCgpIHx8IHRoaXNWYWwuaXNTdHJpbmcoKSkKKyAgICAgICAgaWYgKHRoaXNWYWwuaXNQcmlt
aXRpdmUoKSkKICAgICAgICAgICAgIGNhbGxGcmFtZS0+dW5jaGVja2VkUih0aGlzUmVnaXN0ZXIp
ID0gSlNWYWx1ZSh0aGlzVmFsLnRvVGhpc09iamVjdChjYWxsRnJhbWUpKTsKIAogICAgICAgICB2
UEMgKz0gT1BDT0RFX0xFTkdUSChvcF9jb252ZXJ0X3RoaXMpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHJldmlzaW9uIDkxMTE2KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyODAsNyArMTI4
MCw3IEBAIERFRklORV9TVFVCX0ZVTkNUSU9OKEVuY29kZWRKU1ZhbHVlLCBvcF8KICAgICBKU1Zh
bHVlIHYxID0gc3RhY2tGcmFtZS5hcmdzWzBdLmpzVmFsdWUoKTsKICAgICBDYWxsRnJhbWUqIGNh
bGxGcmFtZSA9IHN0YWNrRnJhbWUuY2FsbEZyYW1lOwogCi0gICAgQVNTRVJUKCF2MS5pc0NlbGwo
KSB8fCB2MS5pc1N0cmluZygpKTsKKyAgICBBU1NFUlQodjEuaXNQcmltaXRpdmUoKSk7CiAKICAg
ICBKU09iamVjdCogcmVzdWx0ID0gdjEudG9UaGlzT2JqZWN0KGNhbGxGcmFtZSk7CiAgICAgQ0hF
Q0tfRk9SX0VYQ0VQVElPTl9BVF9FTkQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQ2VsbC5oCShyZXZpc2lvbiA5MTExNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQ2VsbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMDgsNiArMjA4LDExIEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICByZXR1cm4gaXNDZWxsKCkgJiYgYXNDZWxsKCktPmlzU3RyaW5n
KCk7CiAgICAgfQogCisgICAgaW5saW5lIGJvb2wgSlNWYWx1ZTo6aXNQcmltaXRpdmUoKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuICFpc0NlbGwoKSB8fCBhc0NlbGwoKS0+aXNTdHJpbmco
KTsKKyAgICB9CisKICAgICBpbmxpbmUgYm9vbCBKU1ZhbHVlOjppc0dldHRlclNldHRlcigpIGNv
bnN0CiAgICAgewogICAgICAgICByZXR1cm4gaXNDZWxsKCkgJiYgYXNDZWxsKCktPmlzR2V0dGVy
U2V0dGVyKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1ZhbHVlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNWYWx1ZS5oCShy
ZXZpc2lvbiA5MTExNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTVmFsdWUu
aAkod29ya2luZyBjb3B5KQpAQCAtMTUyLDYgKzE1Miw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAg
ICAgICBib29sIGlzQm9vbGVhbigpIGNvbnN0OwogICAgICAgICBib29sIGlzTnVtYmVyKCkgY29u
c3Q7CiAgICAgICAgIGJvb2wgaXNTdHJpbmcoKSBjb25zdDsKKyAgICAgICAgYm9vbCBpc1ByaW1p
dGl2ZSgpIGNvbnN0OwogICAgICAgICBib29sIGlzR2V0dGVyU2V0dGVyKCkgY29uc3Q7CiAgICAg
ICAgIGJvb2wgaXNPYmplY3QoKSBjb25zdDsKICAgICAgICAgYm9vbCBpbmhlcml0cyhjb25zdCBD
bGFzc0luZm8qKSBjb25zdDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDkxMTU2KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDctMTYg
IEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NDY1NworICAgICAgICBDb252
ZXJ0ZWQgdGhpcyB2YWx1ZSBub3QgcHJlc2VydmVkIHdoZW4gYWNjZXNzZWQgdmlhIGRpcmVjdCBl
dmFsLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZGVkIHRlc3QgY2FzZS4KKworICAgICAgICAqIGZhc3QvanMvcmVhZC1tb2RpZnktZXZhbC1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9qcy9zY3JpcHQtdGVzdHMvcmVhZC1tb2RpZnktZXZh
bC5qczoKKyAgICAgICAgKHByaW1pdGl2ZVRoaXNUZXN0KToKKwogMjAxMS0wNy0xNiAgU2VyZ2V5
IEdsYXp1bm92ICA8c2VyZy5nbGF6dW5vdkBnbWFpbC5jb20+CiAKICAgICAgICAgRE9NV2luZG93
OjpvcGVuIHBlcmZvcm1zIGEgc2VjdXJpdHkgY2hlY2sgb24gYSB3cm9uZyB3aW5kb3cKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvanMvcmVhZC1tb2RpZnktZXZhbC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZWFkLW1vZGlmeS1ldmFsLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gOTExMTYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3JlYWQtbW9kaWZ5LWV2
YWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xOCw2ICsxOCw4IEBAIFBBU1MgcHJl
SW5jVGVzdCgpOyBpcyB0cnVlCiBQQVNTIHByZURlY1Rlc3QoKTsgaXMgdHJ1ZQogUEFTUyBwb3N0
SW5jVGVzdCgpOyBpcyB0cnVlCiBQQVNTIHBvc3REZWNUZXN0KCk7IGlzIHRydWUKK1BBU1MgcHJp
bWl0aXZlVGhpc1Rlc3QuY2FsbCgxKTsgaXMgdHJ1ZQorUEFTUyBzdHJpY3RUaGlzVGVzdC5jYWxs
KDEpOyBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09N
UExFVEUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3JlYWQtbW9kaWZ5
LWV2YWwuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMv
cmVhZC1tb2RpZnktZXZhbC5qcwkocmV2aXNpb24gOTExMTYpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2pzL3NjcmlwdC10ZXN0cy9yZWFkLW1vZGlmeS1ldmFsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDcsNiArMTA3LDI0IEBAIGZ1bmN0aW9uIHBvc3REZWNUZXN0KCkKICAgICByZXR1cm4geC52YWx1
ZSA9PSAtMTsKIH0KIAorZnVuY3Rpb24gcHJpbWl0aXZlVGhpc1Rlc3QoKQoreworICAgIC8vIFRl
c3QgdGhhdCBjb252ZXJzaW9uIG9mIHRoaXMgaXMgcGVyc2lzdGFudCBvdmVyIG11bHRpcGxlIGNh
bGxzIHRvIGV2YWwsCisgICAgLy8gZXZlbiB3aGVyZSAndGhpcycgaXMgbm90IGRpcmVjdGx5IHVz
ZWQgd2l0aGluIHRoZSBmdW5jdGlvbi4KKyAgICBldmFsKCd0aGlzLnZhbHVlID0gIlNlZWtyaXQg
bWVzc2FnZSI7Jyk7CisgICAgcmV0dXJuIGV2YWwoJ3RoaXMudmFsdWUnKSA9PT0gIlNlZWtyaXQg
bWVzc2FnZSI7Cit9CisKK2Z1bmN0aW9uIHN0cmljdFRoaXNUZXN0KCkKK3sKKyAgICAvLyBJbiBh
IHN0cmljdCBtb2RlIGZ1bmN0aW9uIHByaW1pdGl2ZSB0aGlzIHZhbHVlcyBhcmUgbm90IGNvbnZl
cnRlZCwgc28KKyAgICAvLyB0aGUgcHJvcGVydHkgYWNjZXNzIGluIHRoZSBmaXJzdCBldmFsIGlz
IHdyaXRpbmcgYSB2YWx1ZSB0byBhIHRlbXBvcmFyeQorICAgIC8vIG9iamVjdCwgYW5kIHNob3Vs
ZCBub3QgYmUgb2JzZXJ2ZWQgYnkgdGhlIHNlY29uZCBldmFsLgorICAgICJ1c2Ugc3RyaWN0IjsK
KyAgICBldmFsKCd0aGlzLnZhbHVlID0gIlNlZWtyaXQgbWVzc2FnZSI7Jyk7CisgICAgcmV0dXJu
IGV2YWwoJ3RoaXMudmFsdWUnKSA9PT0gdW5kZWZpbmVkOworfQorCiBzaG91bGRCZVRydWUoJ211
bHRUZXN0KCk7Jyk7CiBzaG91bGRCZVRydWUoJ2RpdlRlc3QoKTsnKTsKIHNob3VsZEJlVHJ1ZSgn
YWRkVGVzdCgpOycpOwpAQCAtMTI0LDQgKzE0Miw3IEBAIHNob3VsZEJlVHJ1ZSgncHJlRGVjVGVz
dCgpOycpOwogc2hvdWxkQmVUcnVlKCdwb3N0SW5jVGVzdCgpOycpOwogc2hvdWxkQmVUcnVlKCdw
b3N0RGVjVGVzdCgpOycpOwogCitzaG91bGRCZVRydWUoJ3ByaW1pdGl2ZVRoaXNUZXN0LmNhbGwo
MSk7Jyk7CitzaG91bGRCZVRydWUoJ3N0cmljdFRoaXNUZXN0LmNhbGwoMSk7Jyk7CisKIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="95928"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>