<?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>119843</bug_id>
          
          <creation_ts>2013-08-15 08:27:16 -0700</creation_ts>
          <short_desc>PropertySlot::setValue is ambiguous</short_desc>
          <delta_ts>2013-08-15 11:48:04 -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></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="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>917518</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-08-15 08:27:16 -0700</bug_when>
    <thetext>There are three different versions of PropertySlot::setValue, one for cacheable properties, and two that are used interchangeably and inconsistently.
The problematic variants are the ones that just take a value, and one that takes a value and also the object containing the property.
Unify on always providing the object, and remove the version that just takes a value.
This always works except for JSString, where we optimize out the object (logically we should be instantiating a temporary StringObject on every property access).  Provide a version of setValue that takes a JSString as the owner of the property.  We won&apos;t store this, but it makes it clear that this interface should only be used from JSString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917519</commentid>
    <comment_count>1</comment_count>
      <attachid>208811</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-08-15 08:33:09 -0700</bug_when>
    <thetext>Created attachment 208811
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917539</commentid>
    <comment_count>2</comment_count>
      <attachid>208811</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-08-15 09:40:49 -0700</bug_when>
    <thetext>Comment on attachment 208811
fix

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

&gt; Source/JavaScriptCore/runtime/PropertySlot.h:104
&gt; +    void setValue(JSString*, JSValue value)

This would be a good place for a piece of your ChangeLog comment: Logically, the base of a string property access is a temporary StringObject, but we optimize that away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>917599</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2013-08-15 11:48:04 -0700</bug_when>
    <thetext>Committed revision 154113.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>208811</attachid>
            <date>2013-08-15 08:33:09 -0700</date>
            <delta_ts>2013-08-15 09:40:49 -0700</delta_ts>
            <desc>fix</desc>
            <filename>119843.patch</filename>
            <type>text/plain</type>
            <size>12480</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU0MDk5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDEzLTA4LTE1ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5ODQz
CisgICAgICAgIFByb3BlcnR5U2xvdDo6c2V0VmFsdWUgaXMgYW1iaWd1b3VzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHRocmVlIGRp
ZmZlcmVudCB2ZXJzaW9ucyBvZiBQcm9wZXJ0eVNsb3Q6OnNldFZhbHVlLCBvbmUgZm9yIGNhY2hl
YWJsZSBwcm9wZXJ0aWVzLCBhbmQgdHdvIHRoYXQgYXJlIHVzZWQgaW50ZXJjaGFuZ2VhYmx5IGFu
ZCBpbmNvbnNpc3RlbnRseS4KKyAgICAgICAgVGhlIHByb2JsZW1hdGljIHZhcmlhbnRzIGFyZSB0
aGUgb25lcyB0aGF0IGp1c3QgdGFrZSBhIHZhbHVlLCBhbmQgb25lIHRoYXQgdGFrZXMgYSB2YWx1
ZSBhbmQgYWxzbyB0aGUgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIHByb3BlcnR5LgorICAgICAgICBV
bmlmeSBvbiBhbHdheXMgcHJvdmlkaW5nIHRoZSBvYmplY3QsIGFuZCByZW1vdmUgdGhlIHZlcnNp
b24gdGhhdCBqdXN0IHRha2VzIGEgdmFsdWUuCisgICAgICAgIFRoaXMgYWx3YXlzIHdvcmtzIGV4
Y2VwdCBmb3IgSlNTdHJpbmcsIHdoZXJlIHdlIG9wdGltaXplIG91dCB0aGUgb2JqZWN0IChsb2dp
Y2FsbHkgd2Ugc2hvdWxkIGJlIGluc3RhbnRpYXRpbmcgYSB0ZW1wb3JhcnkgU3RyaW5nT2JqZWN0
IG9uIGV2ZXJ5IHByb3BlcnR5IGFjY2VzcykuCisgICAgICAgIFByb3ZpZGUgYSB2ZXJzaW9uIG9m
IHNldFZhbHVlIHRoYXQgdGFrZXMgYSBKU1N0cmluZyBhcyB0aGUgb3duZXIgb2YgdGhlIHByb3Bl
cnR5LgorICAgICAgICBXZSB3b24ndCBzdG9yZSB0aGlzLCBidXQgaXQgbWFrZXMgaXQgY2xlYXIg
dGhhdCB0aGlzIGludGVyZmFjZSBzaG91bGQgb25seSBiZSB1c2VkIGZyb20gSlNTdHJpbmcuCisK
KyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgorICAgICAgICAoSlND
Ojo6OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogSlNDVHlwZWRBcnJheVN0dWJzLmg6
CisgICAgICAgICogcnVudGltZS9Bcmd1bWVudHMuY3BwOgorICAgICAgICAoSlNDOjpBcmd1bWVu
dHM6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgpOgorICAgICAgICAoSlNDOjpBcmd1bWVudHM6
OmdldE93blByb3BlcnR5U2xvdCk6CisgICAgICAgICogcnVudGltZS9KU0FjdGl2YXRpb24uY3Bw
OgorICAgICAgICAoSlNDOjpKU0FjdGl2YXRpb246OnN5bWJvbFRhYmxlR2V0KToKKyAgICAgICAg
KEpTQzo6SlNBY3RpdmF0aW9uOjpnZXRPd25Qcm9wZXJ0eVNsb3QpOgorICAgICAgICAqIHJ1bnRp
bWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OmdldE93blByb3BlcnR5U2xv
dCk6CisgICAgICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KToKKyAgICAgICAgKiBydW50aW1lL0pTU3Ry
aW5nLmg6CisgICAgICAgIChKU0M6OkpTU3RyaW5nOjpnZXRTdHJpbmdQcm9wZXJ0eVNsb3QpOgor
ICAgICAgICAqIHJ1bnRpbWUvSlNTeW1ib2xUYWJsZU9iamVjdC5oOgorICAgICAgICAoSlNDOjpz
eW1ib2xUYWJsZUdldCk6CisgICAgICAgICogcnVudGltZS9TcGFyc2VBcnJheVZhbHVlTWFwLmNw
cDoKKyAgICAgICAgKEpTQzo6U3BhcnNlQXJyYXlFbnRyeTo6Z2V0KToKKyAgICAgICAgICAgIC0g
UGFzcyBvYmplY3QgY29udGFpbmluZyBwcm9wZXJ0eSB0byBQcm9wZXJ0eVNsb3Q6OnNldFZhbHVl
CisgICAgICAgICogcnVudGltZS9Qcm9wZXJ0eVNsb3QuaDoKKyAgICAgICAgKEpTQzo6UHJvcGVy
dHlTbG90OjpzZXRWYWx1ZSk6CisgICAgICAgIChKU0M6OlByb3BlcnR5U2xvdDo6c2V0VW5kZWZp
bmVkKToKKyAgICAgICAgICAgIC0gcmVtb3ZlZCBzZXRWYWx1ZShKU1ZhbHVlKSwgYWRkZWQgc2V0
VmFsdWUoSlNTdHJpbmcqLCBKU1ZhbHVlKQorCiAyMDEzLTA4LTE1ICBBbGxhbiBTYW5kZmVsZCBK
ZW5zZW4gIDxhbGxhbi5qZW5zZW5AZGlnaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjE0
ODc5MCkgTWFkZSA3IHRlc3RzIGZhaWwgb24geDg2IDMyYml0CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSlNDVHlwZWRBcnJheVN0dWJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0pTQ1R5cGVkQXJyYXlTdHVicy5oCShyZXZpc2lvbiAxNTQwOTkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSlNDVHlwZWRBcnJheVN0dWJzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwNyw3ICsxMDcsNyBAQCBib29sIEpTIyNuYW1lIyNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90
CiAgICAgdW5zaWduZWQgaW5kZXggPSBwcm9wZXJ0eU5hbWUuYXNJbmRleCgpO1wKICAgICBpZiAo
aW5kZXggPCB0aGlzT2JqZWN0LT5tX3N0b3JhZ2VMZW5ndGgpIHtcCiAgICAgICAgIEFTU0VSVChp
bmRleCAhPSBQcm9wZXJ0eU5hbWU6Ok5vdEFuSW5kZXgpO1wKLSAgICAgICAgc2xvdC5zZXRWYWx1
ZSh0aGlzT2JqZWN0LT5nZXRCeUluZGV4KGV4ZWMsIGluZGV4KSk7XAorICAgICAgICBzbG90LnNl
dFZhbHVlKHRoaXNPYmplY3QsIHRoaXNPYmplY3QtPmdldEJ5SW5kZXgoZXhlYywgaW5kZXgpKTtc
CiAgICAgICAgIHJldHVybiB0cnVlO1wKICAgICB9XAogICAgIHJldHVybiBCYXNlOjpnZXRPd25Q
cm9wZXJ0eVNsb3Qob2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHNsb3QpO1wKQEAgLTEzMSw3
ICsxMzEsNyBAQCBib29sIEpTIyNuYW1lIyNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90CiAgICAg
SlMjI25hbWUjI0FycmF5KiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTIyNuYW1lIyNBcnJheSo+KG9i
amVjdCk7XAogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgaW5mbygp
KTtcCiAgICAgaWYgKHByb3BlcnR5TmFtZSA8IHRoaXNPYmplY3QtPm1fc3RvcmFnZUxlbmd0aCkg
e1wKLSAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LT5nZXRCeUluZGV4KGV4ZWMsIHBy
b3BlcnR5TmFtZSkpO1wKKyAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCB0aGlzT2Jq
ZWN0LT5nZXRCeUluZGV4KGV4ZWMsIHByb3BlcnR5TmFtZSkpO1wKICAgICAgICAgcmV0dXJuIHRy
dWU7XAogICAgIH1cCiAgICAgcmV0dXJuIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKCktPmdldE93
blByb3BlcnR5U2xvdCh0aGlzT2JqZWN0LCBleGVjLCBJZGVudGlmaWVyOjpmcm9tKGV4ZWMsIHBy
b3BlcnR5TmFtZSksIHNsb3QpO1wKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9BUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oCShyZXZpc2lvbiAxNTQwOTkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAko
d29ya2luZyBjb3B5KQpAQCAtMTUxLDExICsxNTEsMTEgQEAgYm9vbCBKU0NhbGxiYWNrT2JqZWN0
PFBhcmVudD46OmdldE93blBybwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBp
ZiAoZXhjZXB0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgIHRocm93RXJyb3IoZXhlYywgdG9K
UyhleGVjLCBleGNlcHRpb24pKTsKLSAgICAgICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZShq
c1VuZGVmaW5lZCgpKTsKKyAgICAgICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2Jq
ZWN0LCBqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkgewotICAgICAgICAg
ICAgICAgICAgICBzbG90LnNldFZhbHVlKHRvSlMoZXhlYywgdmFsdWUpKTsKKyAgICAgICAgICAg
ICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCB0b0pTKGV4ZWMsIHZhbHVlKSk7CiAg
ICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIH0KQEAgLTE2NCw3ICsxNjQsNyBAQCBib29sIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50
Pjo6Z2V0T3duUHJvCiAgICAgICAgICAgICAgICAgaWYgKHN0YXRpY1ZhbHVlcy0+Y29udGFpbnMo
bmFtZSkpIHsKICAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZSB2YWx1ZSA9IHRoaXNPYmplY3Qt
PmdldFN0YXRpY1ZhbHVlKGV4ZWMsIHByb3BlcnR5TmFtZSk7CiAgICAgICAgICAgICAgICAgICAg
IGlmICh2YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh2YWx1
ZSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHZh
bHVlKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvQXJndW1lbnRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCShyZXZpc2lvbiAxNTQwOTkpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Bcmd1bWVudHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3
ICs5NCw3IEBAIGJvb2wgQXJndW1lbnRzOjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGUKIHsKICAg
ICBBcmd1bWVudHMqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8QXJndW1lbnRzKj4ob2JqZWN0KTsKICAg
ICBpZiAoSlNWYWx1ZSB2YWx1ZSA9IHRoaXNPYmplY3QtPnRyeUdldEFyZ3VtZW50KGkpKSB7Ci0g
ICAgICAgIHNsb3Quc2V0VmFsdWUodmFsdWUpOworICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNP
YmplY3QsIHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCkBAIC0xMjksMTgg
KzEyOSwxOCBAQCBib29sIEFyZ3VtZW50czo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqCiAgICAg
dW5zaWduZWQgaSA9IHByb3BlcnR5TmFtZS5hc0luZGV4KCk7CiAgICAgaWYgKEpTVmFsdWUgdmFs
dWUgPSB0aGlzT2JqZWN0LT50cnlHZXRBcmd1bWVudChpKSkgewogICAgICAgICBSRUxFQVNFX0FT
U0VSVChpIDwgUHJvcGVydHlOYW1lOjpOb3RBbkluZGV4KTsKLSAgICAgICAgc2xvdC5zZXRWYWx1
ZSh2YWx1ZSk7CisgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgdmFsdWUpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICBpZiAocHJvcGVydHlOYW1lID09IGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5sZW5ndGggJiYgTElLRUxZKCF0aGlzT2JqZWN0LT5tX292ZXJyb2Rl
TGVuZ3RoKSkgewotICAgICAgICBzbG90LnNldFZhbHVlKGpzTnVtYmVyKHRoaXNPYmplY3QtPm1f
bnVtQXJndW1lbnRzKSk7CisgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwganNOdW1i
ZXIodGhpc09iamVjdC0+bV9udW1Bcmd1bWVudHMpKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQogCiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBleGVjLT5wcm9wZXJ0eU5hbWVzKCkuY2Fs
bGVlICYmIExJS0VMWSghdGhpc09iamVjdC0+bV9vdmVycm9kZUNhbGxlZSkpIHsKICAgICAgICAg
aWYgKCF0aGlzT2JqZWN0LT5tX2lzU3RyaWN0TW9kZSkgewotICAgICAgICAgICAgc2xvdC5zZXRW
YWx1ZSh0aGlzT2JqZWN0LT5tX2NhbGxlZS5nZXQoKSk7CisgICAgICAgICAgICBzbG90LnNldFZh
bHVlKHRoaXNPYmplY3QsIHRoaXNPYmplY3QtPm1fY2FsbGVlLmdldCgpKTsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIHRoaXNPYmplY3QtPmNyZWF0ZVN0cmlj
dE1vZGVDYWxsZWVJZk5lY2Vzc2FyeShleGVjKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAkocmV2aXNpb24gMTU0MDk5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjYsNyArNjYsNyBAQCBpbmxpbmUgYm9vbCBKU0FjdGl2YXRpb246OnN5bWJvbFRhYmxl
R2V0CiAgICAgaWYgKGlzVG9ybk9mZigpICYmICFpc1ZhbGlkKGVudHJ5KSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgc2xvdC5zZXRWYWx1ZShyZWdpc3RlckF0KGVudHJ5LmdldEluZGV4
KCkpLmdldCgpKTsKKyAgICBzbG90LnNldFZhbHVlKHRoaXMsIHJlZ2lzdGVyQXQoZW50cnkuZ2V0
SW5kZXgoKSkuZ2V0KCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xNjYsNyArMTY2LDcg
QEAgYm9vbCBKU0FjdGl2YXRpb246OmdldE93blByb3BlcnR5U2xvdChKUwogICAgICAgICByZXR1
cm4gdHJ1ZTsKIAogICAgIGlmIChKU1ZhbHVlIHZhbHVlID0gdGhpc09iamVjdC0+Z2V0RGlyZWN0
KGV4ZWMtPnZtKCksIHByb3BlcnR5TmFtZSkpIHsKLSAgICAgICAgc2xvdC5zZXRWYWx1ZSh2YWx1
ZSk7CisgICAgICAgIHNsb3Quc2V0VmFsdWUodGhpc09iamVjdCwgdmFsdWUpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQXJyYXkuY3BwCShyZXZpc2lvbiAxNTQwOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgxLDcgKzE4MSw3IEBAIGJv
b2wgSlNBcnJheTo6Z2V0T3duUHJvcGVydHlTbG90KEpTT2JqZWMKIHsKICAgICBKU0FycmF5KiB0
aGlzT2JqZWN0ID0ganNDYXN0PEpTQXJyYXkqPihvYmplY3QpOwogICAgIGlmIChwcm9wZXJ0eU5h
bWUgPT0gZXhlYy0+cHJvcGVydHlOYW1lcygpLmxlbmd0aCkgewotICAgICAgICBzbG90LnNldFZh
bHVlKGpzTnVtYmVyKHRoaXNPYmplY3QtPmxlbmd0aCgpKSk7CisgICAgICAgIHNsb3Quc2V0VmFs
dWUodGhpc09iamVjdCwganNOdW1iZXIodGhpc09iamVjdC0+bGVuZ3RoKCkpKTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU09iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNPYmplY3QuY3BwCShyZXZpc2lvbiAxNTQwOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9KU09iamVjdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4OSw3ICsyODksNyBA
QCBib29sIEpTT2JqZWN0OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4CiAgICAgICAgIAogICAg
ICAgICBKU1ZhbHVlIHZhbHVlID0gYnV0dGVyZmx5LT5jb250aWd1b3VzKClbaV0uZ2V0KCk7CiAg
ICAgICAgIGlmICh2YWx1ZSkgewotICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh2YWx1ZSk7Cisg
ICAgICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNPYmplY3QsIHZhbHVlKTsKICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIApAQCAtMzAzLDcgKzMwMyw3IEBAIGJv
b2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgKICAgICAgICAgCiAgICAgICAg
IGRvdWJsZSB2YWx1ZSA9IGJ1dHRlcmZseS0+Y29udGlndW91c0RvdWJsZSgpW2ldOwogICAgICAg
ICBpZiAodmFsdWUgPT0gdmFsdWUpIHsKLSAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUoSlNWYWx1
ZShKU1ZhbHVlOjpFbmNvZGVBc0RvdWJsZSwgdmFsdWUpKTsKKyAgICAgICAgICAgIHNsb3Quc2V0
VmFsdWUodGhpc09iamVjdCwgSlNWYWx1ZShKU1ZhbHVlOjpFbmNvZGVBc0RvdWJsZSwgdmFsdWUp
KTsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgICAgIApAQCAtMzE4
LDcgKzMxOCw3IEBAIGJvb2wgSlNPYmplY3Q6OmdldE93blByb3BlcnR5U2xvdEJ5SW5kZXgKICAg
ICAgICAgaWYgKGkgPCBzdG9yYWdlLT52ZWN0b3JMZW5ndGgoKSkgewogICAgICAgICAgICAgSlNW
YWx1ZSB2YWx1ZSA9IHN0b3JhZ2UtPm1fdmVjdG9yW2ldLmdldCgpOwogICAgICAgICAgICAgaWYg
KHZhbHVlKSB7Ci0gICAgICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZSh2YWx1ZSk7CisgICAgICAg
ICAgICAgICAgc2xvdC5zZXRWYWx1ZSh0aGlzT2JqZWN0LCB2YWx1ZSk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoU3BhcnNl
QXJyYXlWYWx1ZU1hcCogbWFwID0gc3RvcmFnZS0+bV9zcGFyc2VNYXAuZ2V0KCkpIHsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU3RyaW5nLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkocmV2aXNpb24gMTU0MDk5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTdHJpbmcuaAkod29ya2luZyBj
b3B5KQpAQCAtNDczLDE0ICs0NzMsMTQgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgQUxXQVlTX0lO
TElORSBib29sIEpTU3RyaW5nOjpnZXRTdHJpbmdQcm9wZXJ0eVNsb3QoRXhlY1N0YXRlKiBleGVj
LCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmIHNsb3QpCiAgICAgewog
ICAgICAgICBpZiAocHJvcGVydHlOYW1lID09IGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5sZW5ndGgp
IHsKLSAgICAgICAgICAgIHNsb3Quc2V0VmFsdWUoanNOdW1iZXIobV9sZW5ndGgpKTsKKyAgICAg
ICAgICAgIHNsb3Quc2V0VmFsdWUodGhpcywganNOdW1iZXIobV9sZW5ndGgpKTsKICAgICAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAKICAgICAgICAgdW5zaWduZWQgaSA9IHByb3Bl
cnR5TmFtZS5hc0luZGV4KCk7CiAgICAgICAgIGlmIChpIDwgbV9sZW5ndGgpIHsKICAgICAgICAg
ICAgIEFTU0VSVChpICE9IFByb3BlcnR5TmFtZTo6Tm90QW5JbmRleCk7IC8vIE5vIG5lZWQgZm9y
IGFuIGV4cGxpY2l0IGNoZWNrLCB0aGUgYWJvdmUgdGVzdCB3b3VsZCBhbHdheXMgZmFpbCEKLSAg
ICAgICAgICAgIHNsb3Quc2V0VmFsdWUoZ2V0SW5kZXgoZXhlYywgaSkpOworICAgICAgICAgICAg
c2xvdC5zZXRWYWx1ZSh0aGlzLCBnZXRJbmRleChleGVjLCBpKSk7CiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgfQogCkBAIC00OTAsNyArNDkwLDcgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgQUxXQVlTX0lOTElORSBib29sIEpTU3RyaW5nOjpnZXRTdHJpbmdQcm9wZXJ0eVNsb3Qo
RXhlY1N0YXRlKiBleGVjLCB1bnNpZ25lZCBwcm9wZXJ0eU5hbWUsIFByb3BlcnR5U2xvdCYgc2xv
dCkKICAgICB7CiAgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUgPCBtX2xlbmd0aCkgewotICAgICAg
ICAgICAgc2xvdC5zZXRWYWx1ZShnZXRJbmRleChleGVjLCBwcm9wZXJ0eU5hbWUpKTsKKyAgICAg
ICAgICAgIHNsb3Quc2V0VmFsdWUodGhpcywgZ2V0SW5kZXgoZXhlYywgcHJvcGVydHlOYW1lKSk7
CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9KU1N5bWJvbFRhYmxlT2JqZWN0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNTeW1ib2xUYWJsZU9iamVjdC5oCShyZXZp
c2lvbiAxNTQwOTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU1N5bWJvbFRh
YmxlT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTc5LDcgKzc5LDcgQEAgaW5saW5lIGJvb2wg
c3ltYm9sVGFibGVHZXQoCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBTeW1ib2xUYWJsZUVu
dHJ5OjpGYXN0IGVudHJ5ID0gaXRlci0+dmFsdWU7CiAgICAgQVNTRVJUKCFlbnRyeS5pc051bGwo
KSk7Ci0gICAgc2xvdC5zZXRWYWx1ZShvYmplY3QtPnJlZ2lzdGVyQXQoZW50cnkuZ2V0SW5kZXgo
KSkuZ2V0KCkpOworICAgIHNsb3Quc2V0VmFsdWUob2JqZWN0LCBvYmplY3QtPnJlZ2lzdGVyQXQo
ZW50cnkuZ2V0SW5kZXgoKSkuZ2V0KCkpOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0xMTEs
NyArMTExLDcgQEAgaW5saW5lIGJvb2wgc3ltYm9sVGFibGVHZXQoCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICBTeW1ib2xUYWJsZUVudHJ5OjpGYXN0IGVudHJ5ID0gaXRlci0+dmFsdWU7CiAg
ICAgQVNTRVJUKCFlbnRyeS5pc051bGwoKSk7Ci0gICAgc2xvdC5zZXRWYWx1ZShvYmplY3QtPnJl
Z2lzdGVyQXQoZW50cnkuZ2V0SW5kZXgoKSkuZ2V0KCkpOworICAgIHNsb3Quc2V0VmFsdWUob2Jq
ZWN0LCBvYmplY3QtPnJlZ2lzdGVyQXQoZW50cnkuZ2V0SW5kZXgoKSkuZ2V0KCkpOwogICAgIHNs
b3RJc1dyaXRlYWJsZSA9ICFlbnRyeS5pc1JlYWRPbmx5KCk7CiAgICAgcmV0dXJuIHRydWU7CiB9
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaAko
cmV2aXNpb24gMTU0MDk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvcGVy
dHlTbG90LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMSw3ICsxMDEsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fb2Zmc2V0ID0gb2Zmc2V0OwogICAgIH0KIAotICAgIHZvaWQgc2V0VmFsdWUoSlNWYWx1
ZSB2YWx1ZSkKKyAgICB2b2lkIHNldFZhbHVlKEpTU3RyaW5nKiwgSlNWYWx1ZSB2YWx1ZSkKICAg
ICB7CiAgICAgICAgIEFTU0VSVCh2YWx1ZSk7CiAgICAgICAgIG1fZGF0YS52YWx1ZSA9IEpTVmFs
dWU6OmVuY29kZSh2YWx1ZSk7CkBAIC0xNjksNyArMTY5LDExIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0VW5kZWZpbmVkKCkKICAgICB7Ci0gICAgICAgIHNldFZhbHVlKGpzVW5kZWZpbmVkKCkp
OworICAgICAgICBtX2RhdGEudmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7
CisKKyAgICAgICAgbV9zbG90QmFzZSA9IDA7CisgICAgICAgIG1fcHJvcGVydHlUeXBlID0gVHlw
ZVZhbHVlOworICAgICAgICBtX29mZnNldCA9IGludmFsaWRPZmZzZXQ7CiAgICAgfQogCiBwcml2
YXRlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3BhcnNlQXJyYXlWYWx1
ZU1hcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Bh
cnNlQXJyYXlWYWx1ZU1hcC5jcHAJKHJldmlzaW9uIDE1NDA5OSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NwYXJzZUFycmF5VmFsdWVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjgsNyArMTI4LDcgQEAgdm9pZCBTcGFyc2VBcnJheUVudHJ5OjpnZXQoSlNPYmplY3QqIHRo
aQogICAgIEFTU0VSVCh2YWx1ZSk7CiAKICAgICBpZiAoTElLRUxZKCF2YWx1ZS5pc0dldHRlclNl
dHRlcigpKSkgewotICAgICAgICBzbG90LnNldFZhbHVlKHZhbHVlKTsKKyAgICAgICAgc2xvdC5z
ZXRWYWx1ZSh0aGlzT2JqZWN0LCB2YWx1ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
</data>
<flag name="review"
          id="230765"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>