<?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>18717</bug_id>
          
          <creation_ts>2008-04-24 12:41:04 -0700</creation_ts>
          <short_desc>SQUIRRELFISH: eval returns the wrong value for a variable declaration statement</short_desc>
          <delta_ts>2008-04-24 16:01:36 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>18624</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ggaren</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>78795</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 12:41:04 -0700</bug_when>
    <thetext>The expression eval(&quot;var x = 0;&quot;) returns 0 instead of undefined. This causes the JavaScriptCore test ecma_3/Expressions/11.9.6-1.js to fail. Oliver suggested sending something other than dst to the expression in VarStatementNode::emitCode(), but that doesn&apos;t work, because then eval(&quot;f(); var x= 0;&quot;) will return the return value of f(). It seems the best way to fix this is to see if a variable statement is the last statement in a list of statements, in which case you generate code to overwrite its return value with undefined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78796</commentid>
    <comment_count>1</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 12:49:28 -0700</bug_when>
    <thetext>I should also add that there is nothing in the ECMA spec that suggests it should return undefined, at least as far as I can tell.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78804</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-24 13:56:57 -0700</bug_when>
    <thetext>eval(&quot;var x = 0&quot;) should return undefined as nothing should ever assign to dst.  However the rule is (afaict from my testing) that var statements are transparent to the result value, so 
eval(&quot;someExpr; var x = 0;&quot;) 
will return the result of someExpr, assuming someExpr actually has a return value.

I believe therefore the example eval(&quot;f(); var x=0;&quot;) *should* return the result of f().

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78820</commentid>
    <comment_count>3</comment_count>
      <attachid>20802</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 15:29:50 -0700</bug_when>
    <thetext>Created attachment 20802
Proposed patch

Yeah, Oliver, I accidentally misread the spec. Here is a patch that fixes the problem. It seems to be a 0.2% progression on SunSpider. It fixes ecma_3/Expressions/11.9.6-1.js, but causes js1_5/GetSet/getset-005.js to crash, like many other tests using getters and setters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78821</commentid>
    <comment_count>4</comment_count>
      <attachid>20802</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-04-24 15:37:03 -0700</bug_when>
    <thetext>Comment on attachment 20802
Proposed patch

It&apos;s better to omit or comment out the argument name &quot;dst&quot; rather than doing &quot;UNUSED_PARAM(dst)&quot; when practical. There are times when due to #ifdef&apos;s or ASSERT, for example, that UNUSED_PARAM is unavoidable or better. But I don&apos;t think this is one of those times.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78823</commentid>
    <comment_count>5</comment_count>
      <attachid>20803</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 15:43:03 -0700</bug_when>
    <thetext>Created attachment 20803
Revised proposed patch

Here is a revised version of the patch that avoids the use of UNUSED_PARAM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78829</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-24 16:01:36 -0700</bug_when>
    <thetext>Committed r32520

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20802</attachid>
            <date>2008-04-24 15:29:50 -0700</date>
            <delta_ts>2008-04-24 15:43:03 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>varreturn.diff</filename>
            <type>text/plain</type>
            <size>3782</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNTE4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDgtMDQt
MjQgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDE4NzE3OiBTUVVJUlJF
TEZJU0g6IGV2YWwgcmV0dXJucyB0aGUgd3JvbmcgdmFsdWUgZm9yIGEgdmFyaWFibGUgZGVjbGFy
YXRpb24gc3RhdGVtZW50CisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg3MTc+CisKKyAgICAgICAgRml4ZXMgYSByZWdyZXNzaW9uIHRlc3QsIGJ1dCBl
eHBvc2VzIHRoZSBmYWlsdXJlIG9mIGFub3RoZXIgZHVlIHRvIHRoZQorICAgICAgICBsYWNrIG9m
IGdldHRlcnMgYW5kIHNldHRlcnMuCisKKyAgICAgICAgKiBranMvbm9kZXMuY3BwOgorICAgICAg
ICAoS0pTOjpDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZSk6CisgICAgICAgIChLSlM6OkNv
bnN0RGVjbE5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtKUzo6Q29uc3RTdGF0ZW1lbnROb2Rl
OjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OlZhclN0YXRlbWVudE5vZGU6OmVtaXRDb2RlKToK
KyAgICAgICAgKiBranMvbm9kZXMuaDoKKwogMjAwOC0wNC0yNCAgR2VvZmZyZXkgR2FyZW4gIDxn
Z2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBranMvbm9kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtqcy9ub2Rlcy5jcHAJKHJldmlzaW9uIDMy
NTAyKQorKysga2pzL25vZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU3MiwyNSArNDU3Miwy
NCBAQCBpbmxpbmUgdm9pZCBDb25zdERlY2xOb2RlOjpldmFsdWF0ZVNpbmdsCiAgICAgfQogfQog
Ci1SZWdpc3RlcklEKiBDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZShDb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK1JlZ2lzdGVySUQqIENvbnN0RGVjbE5vZGU6
OmVtaXRDb2RlU2luZ2xlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvcikKIHsKLSAgICBpZiAoUmVn
aXN0ZXJJRCogY29uc3RSZWcgPSBnZW5lcmF0b3IucmVnaXN0ZXJGb3JMb2NhbENvbnN0SW5pdCht
X2lkZW50KSkgewotICAgICAgICBSZWdpc3RlcklEKiBleHByUmVzdWx0ID0gZ2VuZXJhdG9yLmVt
aXROb2RlKGNvbnN0UmVnLCBtX2luaXQuZ2V0KCkpOwotICAgICAgICByZXR1cm4gZ2VuZXJhdG9y
Lm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBleHByUmVzdWx0KTsKLSAgICB9CisgICAg
aWYgKFJlZ2lzdGVySUQqIGNvbnN0UmVnID0gZ2VuZXJhdG9yLnJlZ2lzdGVyRm9yTG9jYWxDb25z
dEluaXQobV9pZGVudCkpCisgICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5vZGUoY29uc3RS
ZWcsIG1faW5pdC5nZXQoKSk7CiAKICAgICAvLyBGSVhNRTogV2hpbGUgdGhpcyBjb2RlIHNob3Vs
ZCBvbmx5IGJlIGhpdCBpbiBldmFsIGNvZGUsIGl0IHdpbGwgcG90ZW50aWFsbHkKICAgICAvLyBh
c3NpZ24gdG8gdGhlIHdyb25nIGJhc2UgaWYgbV9pZGVudCBleGlzdHMgaW4gYW4gaW50ZXJ2ZW5p
bmcgZHluYW1pYyBzY29wZS4KICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gY29uc3RCYXNlID0gZ2Vu
ZXJhdG9yLmVtaXRSZXNvbHZlQmFzZShnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIG1faWRlbnQp
OwotICAgIFJlZ2lzdGVySUQqIGV4cHJSZXN1bHQgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBt
X2luaXQuZ2V0KCkpOworICAgIFJlZ2lzdGVySUQqIGV4cHJSZXN1bHQgPSBnZW5lcmF0b3IuZW1p
dE5vZGUobV9pbml0LmdldCgpKTsKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRQdXRQcm9wSWQo
Y29uc3RCYXNlLmdldCgpLCBtX2lkZW50LCBleHByUmVzdWx0KTsKIH0KIAogUmVnaXN0ZXJJRCog
Q29uc3REZWNsTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3Rl
cklEKiBkc3QpCiB7CisgICAgVU5VU0VEX1BBUkFNKGRzdCk7CiAgICAgUmVnaXN0ZXJJRCogcmVz
dWx0ID0gMDsKICAgICBmb3IgKENvbnN0RGVjbE5vZGUqIG4gPSB0aGlzOyBuOyBuID0gbi0+bV9u
ZXh0LmdldCgpKQotICAgICAgICByZXN1bHQgPSBuLT5lbWl0Q29kZVNpbmdsZShnZW5lcmF0b3Is
IG4tPm1fbmV4dCA/IDAgOiBkc3QpOworICAgICAgICByZXN1bHQgPSBuLT5lbWl0Q29kZVNpbmds
ZShnZW5lcmF0b3IpOwogCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KQEAgLTQ2MTksNyArNDYxOCw4
IEBAIHZvaWQgQ29uc3RTdGF0ZW1lbnROb2RlOjpvcHRpbWl6ZVZhcmlhYmwKIAogUmVnaXN0ZXJJ
RCogQ29uc3RTdGF0ZW1lbnROb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3Is
IFJlZ2lzdGVySUQqIGRzdCkKIHsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwg
bV9uZXh0LmdldCgpKTsKKyAgICBVTlVTRURfUEFSQU0oZHN0KTsKKyAgICByZXR1cm4gZ2VuZXJh
dG9yLmVtaXROb2RlKG1fbmV4dC5nZXQoKSk7CiB9CiAKIC8vIEVDTUEgMTIuMgpAQCAtNDc1MCw4
ICs0NzUwLDkgQEAgSlNWYWx1ZSogRXhwclN0YXRlbWVudE5vZGU6OmV4ZWN1dGUoT2xkSQogCiBS
ZWdpc3RlcklEKiBWYXJTdGF0ZW1lbnROb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5l
cmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKIHsKKyAgICBVTlVTRURfUEFSQU0oZHN0KTsKICAgICBB
U1NFUlQobV9leHByKTsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROb2RlKGRzdCwgbV9leHBy
LmdldCgpKTsKKyAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROb2RlKG1fZXhwci5nZXQoKSk7CiB9
CiAKIHZvaWQgVmFyU3RhdGVtZW50Tm9kZTo6b3B0aW1pemVWYXJpYWJsZUFjY2VzcyhPbGRJbnRl
cnByZXRlckV4ZWNTdGF0ZSosIGNvbnN0IFN5bWJvbFRhYmxlJiwgY29uc3QgTG9jYWxTdG9yYWdl
JiwgTm9kZVN0YWNrJiBub2RlU3RhY2spCkluZGV4OiBranMvbm9kZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBranMvbm9kZXMuaAkocmV2aXNpb24gMzI1MDIpCisrKyBranMvbm9kZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjU2MSw3ICsyNTYxLDcgQEAgbmFtZXNwYWNlIEtKUyB7CiAgICAgICAgIFJlZlB0
cjxFeHByZXNzaW9uTm9kZT4gbV9pbml0OwogICAgICAgICAKICAgICAgICAgdmlydHVhbCBSZWdp
c3RlcklEKiBlbWl0Q29kZShDb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBLSlNfRkFT
VF9DQUxMOwotICAgICAgICB2aXJ0dWFsIFJlZ2lzdGVySUQqIGVtaXRDb2RlU2luZ2xlKENvZGVH
ZW5lcmF0b3ImLCBSZWdpc3RlcklEKikgS0pTX0ZBU1RfQ0FMTDsKKyAgICAgICAgdmlydHVhbCBS
ZWdpc3RlcklEKiBlbWl0Q29kZVNpbmdsZShDb2RlR2VuZXJhdG9yJikgS0pTX0ZBU1RfQ0FMTDsK
ICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGhhbmRsZVNsb3dDYXNlKE9sZEludGVycHJldGVy
RXhlY1N0YXRlKiwgY29uc3QgU2NvcGVDaGFpbiYsIEpTVmFsdWUqKSBLSlNfRkFTVF9DQUxMIE5F
VkVSX0lOTElORTsKICAgICB9Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20803</attachid>
            <date>2008-04-24 15:43:03 -0700</date>
            <delta_ts>2008-04-24 15:44:22 -0700</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>varreturn.diff</filename>
            <type>text/plain</type>
            <size>4071</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNTE4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDgtMDQt
MjQgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDE4NzE3OiBTUVVJUlJF
TEZJU0g6IGV2YWwgcmV0dXJucyB0aGUgd3JvbmcgdmFsdWUgZm9yIGEgdmFyaWFibGUgZGVjbGFy
YXRpb24gc3RhdGVtZW50CisgICAgICAgIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTg3MTc+CisKKyAgICAgICAgRml4ZXMgYSByZWdyZXNzaW9uIHRlc3QsIGJ1dCBl
eHBvc2VzIHRoZSBmYWlsdXJlIG9mIGFub3RoZXIgZHVlIHRvIHRoZQorICAgICAgICBsYWNrIG9m
IGdldHRlcnMgYW5kIHNldHRlcnMuCisKKyAgICAgICAgKiBranMvbm9kZXMuY3BwOgorICAgICAg
ICAoS0pTOjpDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZSk6CisgICAgICAgIChLSlM6OkNv
bnN0RGVjbE5vZGU6OmVtaXRDb2RlKToKKyAgICAgICAgKEtKUzo6Q29uc3RTdGF0ZW1lbnROb2Rl
OjplbWl0Q29kZSk6CisgICAgICAgIChLSlM6OlZhclN0YXRlbWVudE5vZGU6OmVtaXRDb2RlKToK
KyAgICAgICAgKiBranMvbm9kZXMuaDoKKwogMjAwOC0wNC0yNCAgR2VvZmZyZXkgR2FyZW4gIDxn
Z2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4
OiBranMvbm9kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtqcy9ub2Rlcy5jcHAJKHJldmlzaW9uIDMy
NTAyKQorKysga2pzL25vZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU3MiwyNSArNDU3Miwy
MyBAQCBpbmxpbmUgdm9pZCBDb25zdERlY2xOb2RlOjpldmFsdWF0ZVNpbmdsCiAgICAgfQogfQog
Ci1SZWdpc3RlcklEKiBDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZShDb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK1JlZ2lzdGVySUQqIENvbnN0RGVjbE5vZGU6
OmVtaXRDb2RlU2luZ2xlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvcikKIHsKLSAgICBpZiAoUmVn
aXN0ZXJJRCogY29uc3RSZWcgPSBnZW5lcmF0b3IucmVnaXN0ZXJGb3JMb2NhbENvbnN0SW5pdCht
X2lkZW50KSkgewotICAgICAgICBSZWdpc3RlcklEKiBleHByUmVzdWx0ID0gZ2VuZXJhdG9yLmVt
aXROb2RlKGNvbnN0UmVnLCBtX2luaXQuZ2V0KCkpOwotICAgICAgICByZXR1cm4gZ2VuZXJhdG9y
Lm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBleHByUmVzdWx0KTsKLSAgICB9CisgICAg
aWYgKFJlZ2lzdGVySUQqIGNvbnN0UmVnID0gZ2VuZXJhdG9yLnJlZ2lzdGVyRm9yTG9jYWxDb25z
dEluaXQobV9pZGVudCkpCisgICAgICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5vZGUoY29uc3RS
ZWcsIG1faW5pdC5nZXQoKSk7CiAKICAgICAvLyBGSVhNRTogV2hpbGUgdGhpcyBjb2RlIHNob3Vs
ZCBvbmx5IGJlIGhpdCBpbiBldmFsIGNvZGUsIGl0IHdpbGwgcG90ZW50aWFsbHkKICAgICAvLyBh
c3NpZ24gdG8gdGhlIHdyb25nIGJhc2UgaWYgbV9pZGVudCBleGlzdHMgaW4gYW4gaW50ZXJ2ZW5p
bmcgZHluYW1pYyBzY29wZS4KICAgICBSZWZQdHI8UmVnaXN0ZXJJRD4gY29uc3RCYXNlID0gZ2Vu
ZXJhdG9yLmVtaXRSZXNvbHZlQmFzZShnZW5lcmF0b3IubmV3VGVtcG9yYXJ5KCksIG1faWRlbnQp
OwotICAgIFJlZ2lzdGVySUQqIGV4cHJSZXN1bHQgPSBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0LCBt
X2luaXQuZ2V0KCkpOworICAgIFJlZ2lzdGVySUQqIGV4cHJSZXN1bHQgPSBnZW5lcmF0b3IuZW1p
dE5vZGUobV9pbml0LmdldCgpKTsKICAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXRQdXRQcm9wSWQo
Y29uc3RCYXNlLmdldCgpLCBtX2lkZW50LCBleHByUmVzdWx0KTsKIH0KIAotUmVnaXN0ZXJJRCog
Q29uc3REZWNsTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3Rl
cklEKiBkc3QpCitSZWdpc3RlcklEKiBDb25zdERlY2xOb2RlOjplbWl0Q29kZShDb2RlR2VuZXJh
dG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqKQogewogICAgIFJlZ2lzdGVySUQqIHJlc3VsdCA9
IDA7CiAgICAgZm9yIChDb25zdERlY2xOb2RlKiBuID0gdGhpczsgbjsgbiA9IG4tPm1fbmV4dC5n
ZXQoKSkKLSAgICAgICAgcmVzdWx0ID0gbi0+ZW1pdENvZGVTaW5nbGUoZ2VuZXJhdG9yLCBuLT5t
X25leHQgPyAwIDogZHN0KTsKKyAgICAgICAgcmVzdWx0ID0gbi0+ZW1pdENvZGVTaW5nbGUoZ2Vu
ZXJhdG9yKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CkBAIC00NjE3LDkgKzQ2MTUsOSBAQCB2
b2lkIENvbnN0U3RhdGVtZW50Tm9kZTo6b3B0aW1pemVWYXJpYWJsCiAgICAgbm9kZVN0YWNrLmFw
cGVuZChtX25leHQuZ2V0KCkpOwogfQogCi1SZWdpc3RlcklEKiBDb25zdFN0YXRlbWVudE5vZGU6
OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCogZHN0KQorUmVn
aXN0ZXJJRCogQ29uc3RTdGF0ZW1lbnROb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9yJiBnZW5l
cmF0b3IsIFJlZ2lzdGVySUQqKQogewotICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5vZGUoZHN0
LCBtX25leHQuZ2V0KCkpOworICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5vZGUobV9uZXh0Lmdl
dCgpKTsKIH0KIAogLy8gRUNNQSAxMi4yCkBAIC00NzQ4LDEwICs0NzQ2LDEwIEBAIEpTVmFsdWUq
IEV4cHJTdGF0ZW1lbnROb2RlOjpleGVjdXRlKE9sZEkKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tIFZhclN0YXRlbWVudE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogCi1SZWdpc3RlcklEKiBWYXJTdGF0ZW1lbnROb2RlOjplbWl0Q29kZShDb2RlR2VuZXJhdG9y
JiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGRzdCkKK1JlZ2lzdGVySUQqIFZhclN0YXRlbWVudE5v
ZGU6OmVtaXRDb2RlKENvZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCopCiB7CiAg
ICAgQVNTRVJUKG1fZXhwcik7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Tm9kZShkc3QsIG1f
ZXhwci5nZXQoKSk7CisgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0Tm9kZShtX2V4cHIuZ2V0KCkp
OwogfQogCiB2b2lkIFZhclN0YXRlbWVudE5vZGU6Om9wdGltaXplVmFyaWFibGVBY2Nlc3MoT2xk
SW50ZXJwcmV0ZXJFeGVjU3RhdGUqLCBjb25zdCBTeW1ib2xUYWJsZSYsIGNvbnN0IExvY2FsU3Rv
cmFnZSYsIE5vZGVTdGFjayYgbm9kZVN0YWNrKQpJbmRleDoga2pzL25vZGVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0ga2pzL25vZGVzLmgJKHJldmlzaW9uIDMyNTAyKQorKysga2pzL25vZGVzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI1NjEsNyArMjU2MSw3IEBAIG5hbWVzcGFjZSBLSlMgewogICAgICAgICBS
ZWZQdHI8RXhwcmVzc2lvbk5vZGU+IG1faW5pdDsKICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwg
UmVnaXN0ZXJJRCogZW1pdENvZGUoQ29kZUdlbmVyYXRvciYsIFJlZ2lzdGVySUQqID0gMCkgS0pT
X0ZBU1RfQ0FMTDsKLSAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Q29kZVNpbmdsZShD
b2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCopIEtKU19GQVNUX0NBTEw7CisgICAgICAgIHZpcnR1
YWwgUmVnaXN0ZXJJRCogZW1pdENvZGVTaW5nbGUoQ29kZUdlbmVyYXRvciYpIEtKU19GQVNUX0NB
TEw7CiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBoYW5kbGVTbG93Q2FzZShPbGRJbnRlcnBy
ZXRlckV4ZWNTdGF0ZSosIGNvbnN0IFNjb3BlQ2hhaW4mLCBKU1ZhbHVlKikgS0pTX0ZBU1RfQ0FM
TCBORVZFUl9JTkxJTkU7CiAgICAgfTsK
</data>
<flag name="review"
          id="9095"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>