<?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>203231</bug_id>
          
          <creation_ts>2019-10-21 19:38:16 -0700</creation_ts>
          <short_desc>Clients of JSArray::tryCreateUninitializedRestricted() should invoke the mutatorFence().</short_desc>
          <delta_ts>2019-10-22 14:19:57 -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="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582218</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-21 19:38:16 -0700</bug_when>
    <thetext>Clients of JSArray::tryCreateUninitializedRestricted() creates a partially initialized JSArray, with the contract that it will take care of filling in all the missing indexed properties before unleashing the newly created array on the world.  We intentionally do not unconditionally write barrier newly created arrays and rely on an owner object (or GC root) that it gets put into to scan it.  That said, there&apos;s no guarantee that we won&apos;t reach a GC safe point while the newly created array is still on the stack before it gets put into an owner object (or GC root).  

We should ensure that all stores into the array are properly completed before that GC safe point.  Hence, we should invoke the mutatorFence() after the client of JSArray::tryCreateUninitializedRestricted() finishes initializing the array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582219</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-21 19:38:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/56486552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582220</commentid>
    <comment_count>2</comment_count>
      <attachid>381501</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-21 19:40:40 -0700</bug_when>
    <thetext>Created attachment 381501
work in progress for EWS testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582260</commentid>
    <comment_count>3</comment_count>
      <attachid>381513</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-21 23:37:51 -0700</bug_when>
    <thetext>Created attachment 381513
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582476</commentid>
    <comment_count>4</comment_count>
      <attachid>381513</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-10-22 12:03:48 -0700</bug_when>
    <thetext>Comment on attachment 381513
proposed patch.

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

&gt; Source/JavaScriptCore/ChangeLog:18
&gt; +        That said, there&apos;s no guarantee that we won&apos;t reach a GC safe point with the
&gt; +        newly created array is on the stack before it gets put into an owner object
&gt; +        (or GC root).

how does a safe point not do the required fencing?

I think this is necessary because when we store the array into another object. But I don&apos;t think it&apos;s necessary for this reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1582564</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-10-22 14:19:57 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; I think this is necessary because when we store the array into another
&gt; object. But I don&apos;t think it&apos;s necessary for this reason.

Thanks for the review.  I&apos;ve fixed the comment.

Landed in r251456: &lt;http://trac.webkit.org/r251456&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381501</attachid>
            <date>2019-10-21 19:40:40 -0700</date>
            <delta_ts>2019-10-21 23:37:51 -0700</delta_ts>
            <desc>work in progress for EWS testing.</desc>
            <filename>bug-203231.patch</filename>
            <type>text/plain</type>
            <size>4153</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAJKHJldmlzaW9uIDI1MTQxMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0FycmF5UHJvdG90eXBlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4Myw3ICsxNTgzLDggQEAg
RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBhcnJheVByb3RvUAogICAgICAgICBjb3B5RWxl
bWVudHMoYnVmZmVyLCBmaXJzdEFycmF5U2l6ZSwgc2Vjb25kQnV0dGVyZmx5LT5jb250aWd1b3Vz
KCkuZGF0YSgpLCBzZWNvbmRBcnJheVNpemUsIHNlY29uZFR5cGUpOwogICAgIH0KIAotICAgIHJl
c3VsdC0+YnV0dGVyZmx5KCktPnNldFB1YmxpY0xlbmd0aChyZXN1bHRTaXplKTsKKyAgICBBU1NF
UlQocmVzdWx0LT5idXR0ZXJmbHkoKS0+cHVibGljTGVuZ3RoKCkgPT0gcmVzdWx0U2l6ZSk7Cisg
ICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJl
c3VsdCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXku
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXku
Y3BwCShyZXZpc2lvbiAyNTE0MTApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzkzLDggKzc5Myw5IEBAIEpTQXJyYXkqIEpT
QXJyYXk6OmZhc3RTbGljZShFeGVjU3RhdGUmIGUKICAgICAgICAgICAgIG1lbWNweShyZXN1bHRC
dXR0ZXJmbHkuY29udGlndW91c0RvdWJsZSgpLmRhdGEoKSwgYnV0dGVyZmx5KCktPmNvbnRpZ3Vv
dXNEb3VibGUoKS5kYXRhKCkgKyBzdGFydEluZGV4LCBzaXplb2YoSlNWYWx1ZSkgKiBjb3VudCk7
CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1lbWNweShyZXN1bHRCdXR0ZXJmbHkuY29udGln
dW91cygpLmRhdGEoKSwgYnV0dGVyZmx5KCktPmNvbnRpZ3VvdXMoKS5kYXRhKCkgKyBzdGFydElu
ZGV4LCBzaXplb2YoSlNWYWx1ZSkgKiBjb3VudCk7Ci0gICAgICAgIHJlc3VsdEJ1dHRlcmZseS5z
ZXRQdWJsaWNMZW5ndGgoY291bnQpOwogCisgICAgICAgIEFTU0VSVChyZXN1bHRCdXR0ZXJmbHku
cHVibGljTGVuZ3RoKCkgPT0gY291bnQpOworICAgICAgICB2bS5oZWFwLm11dGF0b3JGZW5jZSgp
OwogICAgICAgICByZXR1cm4gcmVzdWx0QXJyYXk7CiAgICAgfQogICAgIGRlZmF1bHQ6CkBAIC0x
MzU2LDYgKzEzNTcsNyBAQCBKU0FycmF5KiBjb25zdHJ1Y3RBcnJheShFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgSlNBcnJheSogYXJyYXkgPSBjb25zdHJ1Y3RBcnJheShzY29wZSwgYXJyYXlTdHJ1Y3R1
cmUsIGxlbmd0aCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQog
ICAgICAgICBhcnJheS0+aW5pdGlhbGl6ZUluZGV4KHNjb3BlLCBpLCB2YWx1ZXMuYXQoaSkpOwor
ICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgcmV0dXJuIGFycmF5OwogfQogCkBAIC0x
MzY3LDYgKzEzNjksNyBAQCBKU0FycmF5KiBjb25zdHJ1Y3RBcnJheShFeGVjU3RhdGUqIGV4ZWMs
CiAgICAgSlNBcnJheSogYXJyYXkgPSBjb25zdHJ1Y3RBcnJheShzY29wZSwgYXJyYXlTdHJ1Y3R1
cmUsIGxlbmd0aCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQog
ICAgICAgICBhcnJheS0+aW5pdGlhbGl6ZUluZGV4KHNjb3BlLCBpLCB2YWx1ZXNbaV0pOworICAg
IHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgcmV0dXJuIGFycmF5OwogfQogCkBAIC0xMzc4
LDYgKzEzODEsNyBAQCBKU0FycmF5KiBjb25zdHJ1Y3RBcnJheU5lZ2F0aXZlSW5kZXhlZChFCiAg
ICAgSlNBcnJheSogYXJyYXkgPSBjb25zdHJ1Y3RBcnJheShzY29wZSwgYXJyYXlTdHJ1Y3R1cmUs
IGxlbmd0aCk7CiAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBzdGF0aWNfY2FzdDxpbnQ+KGxlbmd0
aCk7ICsraSkKICAgICAgICAgYXJyYXktPmluaXRpYWxpemVJbmRleChzY29wZSwgaSwgdmFsdWVz
Wy1pXSk7CisgICAgdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICByZXR1cm4gYXJyYXk7CiB9
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJh
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhw
TWF0Y2hlc0FycmF5LmNwcAkocmV2aXNpb24gMjUxNDEwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvUmVnRXhwTWF0Y2hlc0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgs
NiArNjgsNyBAQCBKU0FycmF5KiBjcmVhdGVFbXB0eVJlZ0V4cE1hdGNoZXNBcnJheShKCiAKICAg
ICBhcnJheS0+cHV0RGlyZWN0V2l0aG91dEJhcnJpZXIoUmVnRXhwTWF0Y2hlc0FycmF5SW5kZXhQ
cm9wZXJ0eU9mZnNldCwganNOdW1iZXIoLTEpKTsKICAgICBhcnJheS0+cHV0RGlyZWN0V2l0aG91
dEJhcnJpZXIoUmVnRXhwTWF0Y2hlc0FycmF5SW5wdXRQcm9wZXJ0eU9mZnNldCwgaW5wdXQpOwor
ICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgcmV0dXJuIGFycmF5OwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJy
YXkuaAkocmV2aXNpb24gMjUxNDEwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwTWF0Y2hlc0FycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsOCBAQCBB
TFdBWVNfSU5MSU5FIEpTQXJyYXkqIGNyZWF0ZVJlZ0V4cE1hdGNoCiAgICAgICAgICAgICAgICAg
dmFsdWUgPSBqc1VuZGVmaW5lZCgpOwogICAgICAgICAgICAgYXJyYXktPmluaXRpYWxpemVJbmRl
eFdpdGhvdXRCYXJyaWVyKHNjb3BlLCBpLCB2YWx1ZSk7CiAgICAgICAgIH0KKyAgICAgICAgdm0u
aGVhcC5tdXRhdG9yRmVuY2UoKTsKKwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdDRGVmZXJyYWxD
b250ZXh0IGRlZmVycmFsQ29udGV4dCh2bS5oZWFwKTsKICAgICAgICAgT2JqZWN0SW5pdGlhbGl6
YXRpb25TY29wZSBzY29wZSh2bSk7CkBAIC0xNDksNiArMTUxLDcgQEAgQUxXQVlTX0lOTElORSBK
U0FycmF5KiBjcmVhdGVSZWdFeHBNYXRjaAogICAgICAgICAgICAgICAgIHZhbHVlID0ganNVbmRl
ZmluZWQoKTsKICAgICAgICAgICAgIGFycmF5LT5pbml0aWFsaXplSW5kZXhXaXRob3V0QmFycmll
cihzY29wZSwgaSwgdmFsdWUsIEFycmF5V2l0aENvbnRpZ3VvdXMpOwogICAgICAgICB9CisgICAg
ICAgIHZtLmhlYXAubXV0YXRvckZlbmNlKCk7CiAgICAgfQogCiAgICAgLy8gTm93IHRoZSBvYmpl
Y3QgaXMgc2FmZSB0byBzY2FuIGJ5IEdDLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3dh
c20vanMvSlNUb1dhc20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL2pzL0pTVG9XYXNtLmNwcAkocmV2aXNpb24gMjUxNDEwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vanMvSlNUb1dhc20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0
LDcgQEAgc3RhdGljIEpTQXJyYXkqIGFsbG9jYXRlUmVzdWx0c0FycmF5KEV4ZQogICAgIH0KIAog
ICAgIEFTU0VSVChyZXN1bHQtPmluZGV4aW5nVHlwZSgpID09IGluZGV4aW5nVHlwZSk7CisgICAg
dm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381513</attachid>
            <date>2019-10-21 23:37:51 -0700</date>
            <delta_ts>2019-10-22 12:03:48 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-203231.patch</filename>
            <type>text/plain</type>
            <size>7170</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjUxNDE5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYyIEBA
CisyMDE5LTEwLTIxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBD
bGllbnRzIG9mIEpTQXJyYXk6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWRSZXN0cmljdGVkKCkgc2hv
dWxkIGludm9rZSB0aGUgbXV0YXRvckZlbmNlKCkuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyMzEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2
NDg2NTUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IENsaWVudHMgb2YgSlNBcnJheTo6dHJ5Q3JlYXRlVW5pbml0aWFsaXplZFJlc3RyaWN0ZWQoKSBj
cmVhdGVzIGEgcGFydGlhbGx5CisgICAgICAgIGluaXRpYWxpemVkIEpTQXJyYXkgYnV0dGVyZmx5
LCB3aXRoIHRoZSBjb250cmFjdCB0aGF0IGl0ICh0aGUgY2xpZW50KSB3aWxsIHRha2UKKyAgICAg
ICAgY2FyZSBvZiBmaWxsaW5nIGluIGFsbCB0aGUgbWlzc2luZyBpbmRleGVkIHByb3BlcnRpZXMg
YmVmb3JlIHNldHRpbmcgdGhlIG5ld2x5CisgICAgICAgIGNyZWF0ZWQgYXJyYXkgbG9vc2UgaW4g
dGhlIHdvcmxkLiAgV2UgaW50ZW50aW9uYWxseSBkbyBub3QgdW5jb25kaXRpb25hbGx5IHdyaXRl
CisgICAgICAgIGJhcnJpZXIgdGhlIG5ld2x5IGNyZWF0ZWQgYXJyYXkgYnV0LCBpbnN0ZWFkLCBy
ZWx5IG9uIGFuIG93bmVyIG9iamVjdCAob3IgR0Mgcm9vdCkKKyAgICAgICAgdGhhdCBpdCBnZXRz
IHB1dCBpbnRvIHRvIHNjYW4gaXQuCisKKyAgICAgICAgVGhhdCBzYWlkLCB0aGVyZSdzIG5vIGd1
YXJhbnRlZSB0aGF0IHdlIHdvbid0IHJlYWNoIGEgR0Mgc2FmZSBwb2ludCB3aXRoIHRoZQorICAg
ICAgICBuZXdseSBjcmVhdGVkIGFycmF5IGlzIG9uIHRoZSBzdGFjayBiZWZvcmUgaXQgZ2V0cyBw
dXQgaW50byBhbiBvd25lciBvYmplY3QKKyAgICAgICAgKG9yIEdDIHJvb3QpLgorCisgICAgICAg
IEhlbmNlLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IGFsbCBzdG9yZXMgaW50byB0aGUgYXJyYXkg
YXJlIHByb3Blcmx5IGNvbXBsZXRlZAorICAgICAgICBiZWZvcmUgdGhhdCBHQyBzYWZlIHBvaW50
IHNvIHRoYXQgdGhlIEdDIHdpbGwgbm90IHNlZSBhIHBhcnRpYWxseSBpbml0aWFsaXplZAorICAg
ICAgICBhcnJheSBidXR0ZXJmbHkuICBUbyBhY2hpZXZlIHRoaXMsIHdlIHNob3VsZCBpbnZva2Ug
dGhlIG11dGF0b3JGZW5jZSBhZnRlciB0aGUKKyAgICAgICAgY2xpZW50cyBvZiBKU0FycmF5Ojp0
cnlDcmVhdGVVbmluaXRpYWxpemVkUmVzdHJpY3RlZCgpIGZpbmlzaCBpbml0aWFsaXppbmcgdGhl
CisgICAgICAgIGFycmF5LgorCisgICAgICAgIEJ5IGRlc2lnbiwgYWxsIGNsaWVudHMgb2YgdHJ5
Q3JlYXRlVW5pbml0aWFsaXplZFJlc3RyaWN0ZWQoKSBtdXN0IGluc3RhbnRpYXRlIGFuCisgICAg
ICAgIE9iamVjdEluaXRpYWxpemF0aW9uU2NvcGUgUkFJSSBvYmplY3QuICBUaGlzIHBhdGNoIG1h
a2VzIHVzZSBvZiB0aGUKKyAgICAgICAgT2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZSBkZXN0cnVj
dG9yIHRvIGludm9rZSB0aGUgbXV0YXRvckZlbmNlLgorCisgICAgICAgIE5vdGU6IHdlIHRlY2hu
aWNhbGx5IG9ubHkgbmVlZCB0byBpbnZva2UgdGhlIGZlbmNlIGlmIHdlIHN1Y2NlZWRlZCBpbiBh
bGxvY2F0aW5nCisgICAgICAgIHRoZSBhcnJheS4gIEhvd2V2ZXIsIHdlIGp1c3QgaW52b2tlIHRo
ZSBmZW5jZSB1bmNvbmRpdGlvbmFsbHkgYmVjYXVzZSB3ZSBleHBlY3QKKyAgICAgICAgdGhhdCBp
biB0aGUgY29tbW9uIHBhdGgsIHdlIHdpbGwgc3VjY2VlZCBpbiBhbGxvY2F0aW5nIHRoZSBhcnJh
eS4gIFRoZSByZWxlYXNlCisgICAgICAgIGJ1aWxkIHZlcnNpb24gb2YgT2JqZWN0SW5pdGlhbGl6
YXRpb25TY29wZSBkb2VzIG5vdCBrZWVwIHJlY29yZCBvZiB3aGV0aGVyIHdlCisgICAgICAgIHN1
Y2NlZWQgaW4gYWxsb2NhdGluZyB0aGUgYXJyYXkgYW55d2F5LiAgVG8ga2VlcCB0aGUgYmVoYXZp
b3IgY29uc2lzdGVudCwgdGhlCisgICAgICAgIGRlYnVnIGJ1aWxkIHZlcnNpb24gb2YgT2JqZWN0
SW5pdGlhbGl6YXRpb25TY29wZSB3aWxsIGFsc28gdW5jb25kaXRpb25hbGx5CisgICAgICAgIGlu
dm9rZSB0aGUgZmVuY2UgZXZlbiBpZiB3ZSBmYWlsZWQgdG8gYWxsb2NhdGUgdGhlIGFycmF5Lgor
CisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBkb2VzIHRoZSBmb2xsb3dpbmc6CisKKyAgICAgICAg
MS4gUmVwbGFjZWQgdGhlIHNldHRpbmcgb2YgdGhlIHB1YmxpYyBsZW5ndGggaW4gYXJyYXlQcm90
b1ByaXZhdGVGdW5jQ29uY2F0TWVtY3B5KCkKKyAgICAgICAgICAgd2l0aCBhbiBhc3NlcnRpb24u
ICBUaGUgcHVibGljIGxlbmd0aCB3YXMgYWxyZWFkeSBzZXQgYnkKKyAgICAgICAgICAgdHJ5Q3Jl
YXRlVW5pbml0aWFsaXplZFJlc3RyaWN0ZWQoKSBlYXJsaWVyLgorCisgICAgICAgICAgIERpdHRv
IGZvciBKU0FycmF5OjpmYXN0U2xpY2UoKS4KKworICAgICAgICAyLiBSZW1vdmVkIGEgcmVkdW5k
YW50IGluc3RhbmNlIG9mIE9iamVjdEluaXRpYWxpemF0aW9uU2NvcGUgaW4KKyAgICAgICAgICAg
Y3JlYXRlRW1wdHlSZWdFeHBNYXRjaGVzQXJyYXkoKS4KKworICAgICAgICAqIHJ1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjphcnJheVByb3RvUHJpdmF0ZUZ1bmNDb25j
YXRNZW1jcHkpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6
OkpTQXJyYXk6OmZhc3RTbGljZSk6CisgICAgICAgICogcnVudGltZS9PYmplY3RJbml0aWFsaXph
dGlvblNjb3BlLmNwcDoKKyAgICAgICAgKEpTQzo6T2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZTo6
fk9iamVjdEluaXRpYWxpemF0aW9uU2NvcGUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0SW5p
dGlhbGl6YXRpb25TY29wZS5oOgorICAgICAgICAoSlNDOjpPYmplY3RJbml0aWFsaXphdGlvblNj
b3BlOjp+T2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZSk6CisgICAgICAgICogcnVudGltZS9SZWdF
eHBNYXRjaGVzQXJyYXkuY3BwOgorICAgICAgICAoSlNDOjpjcmVhdGVFbXB0eVJlZ0V4cE1hdGNo
ZXNBcnJheSk6CisKIDIwMTktMTAtMjEgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFJvbGxpbmcgb3V0IHIyNTE0MTE6IEZpeCBpcyBpbmNvcnJlY3QuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwCShy
ZXZpc2lvbiAyNTE0MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVBy
b3RvdHlwZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1ODMsNyArMTU4Myw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlQcm90b1AKICAgICAgICAgY29weUVsZW1lbnRzKGJ1
ZmZlciwgZmlyc3RBcnJheVNpemUsIHNlY29uZEJ1dHRlcmZseS0+Y29udGlndW91cygpLmRhdGEo
KSwgc2Vjb25kQXJyYXlTaXplLCBzZWNvbmRUeXBlKTsKICAgICB9CiAKLSAgICByZXN1bHQtPmJ1
dHRlcmZseSgpLT5zZXRQdWJsaWNMZW5ndGgocmVzdWx0U2l6ZSk7CisgICAgQVNTRVJUKHJlc3Vs
dC0+YnV0dGVyZmx5KCktPnB1YmxpY0xlbmd0aCgpID09IHJlc3VsdFNpemUpOwogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUocmVzdWx0KTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDI1MTQxNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03OTMsOCAr
NzkzLDggQEAgSlNBcnJheSogSlNBcnJheTo6ZmFzdFNsaWNlKEV4ZWNTdGF0ZSYgZQogICAgICAg
ICAgICAgbWVtY3B5KHJlc3VsdEJ1dHRlcmZseS5jb250aWd1b3VzRG91YmxlKCkuZGF0YSgpLCBi
dXR0ZXJmbHkoKS0+Y29udGlndW91c0RvdWJsZSgpLmRhdGEoKSArIHN0YXJ0SW5kZXgsIHNpemVv
ZihKU1ZhbHVlKSAqIGNvdW50KTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbWVtY3B5KHJl
c3VsdEJ1dHRlcmZseS5jb250aWd1b3VzKCkuZGF0YSgpLCBidXR0ZXJmbHkoKS0+Y29udGlndW91
cygpLmRhdGEoKSArIHN0YXJ0SW5kZXgsIHNpemVvZihKU1ZhbHVlKSAqIGNvdW50KTsKLSAgICAg
ICAgcmVzdWx0QnV0dGVyZmx5LnNldFB1YmxpY0xlbmd0aChjb3VudCk7CiAKKyAgICAgICAgQVNT
RVJUKHJlc3VsdEJ1dHRlcmZseS5wdWJsaWNMZW5ndGgoKSA9PSBjb3VudCk7CiAgICAgICAgIHJl
dHVybiByZXN1bHRBcnJheTsKICAgICB9CiAgICAgZGVmYXVsdDoKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09iamVjdEluaXRpYWxpemF0aW9uU2NvcGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdEluaXRpYWxpemF0aW9u
U2NvcGUuY3BwCShyZXZpc2lvbiAyNTE0MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PYmplY3RJbml0aWFsaXphdGlvblNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQy
LDYgKzQyLDcgQEAgT2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZTo6T2JqZWN0SW5pdGlhbAogCiBP
YmplY3RJbml0aWFsaXphdGlvblNjb3BlOjp+T2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZSgpCiB7
CisgICAgbV92bS5oZWFwLm11dGF0b3JGZW5jZSgpOwogICAgIGlmICghbV9vYmplY3QpCiAgICAg
ICAgIHJldHVybjsKICAgICB2ZXJpZnlQcm9wZXJ0aWVzQXJlSW5pdGlhbGl6ZWQobV9vYmplY3Qp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0SW5pdGlhbGl6YXRp
b25TY29wZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09i
amVjdEluaXRpYWxpemF0aW9uU2NvcGUuaAkocmV2aXNpb24gMjUxNDE3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0SW5pdGlhbGl6YXRpb25TY29wZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNDAsNiArNDAsMTAgQEAgcHVibGljOgogICAgIEFMV0FZU19JTkxJTkUgT2Jq
ZWN0SW5pdGlhbGl6YXRpb25TY29wZShWTSYgdm0pCiAgICAgICAgIDogbV92bSh2bSkKICAgICB7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIH5PYmplY3RJbml0aWFsaXphdGlvblNjb3BlKCkKKyAgICB7
CisgICAgICAgIG1fdm0uaGVhcC5tdXRhdG9yRmVuY2UoKTsKKyAgICB9CiAKICAgICBBTFdBWVNf
SU5MSU5FIFZNJiB2bSgpIGNvbnN0IHsgcmV0dXJuIG1fdm07IH0KICAgICBBTFdBWVNfSU5MSU5F
IHZvaWQgbm90aWZ5QWxsb2NhdGVkKEpTT2JqZWN0KiwgYm9vbCkgeyB9CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBNYXRjaGVzQXJyYXkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cE1hdGNoZXNBcnJheS5jcHAJ
KHJldmlzaW9uIDI1MTQxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4
cE1hdGNoZXNBcnJheS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDcgKzU0LDYgQEAgSlNBcnJh
eSogY3JlYXRlRW1wdHlSZWdFeHBNYXRjaGVzQXJyYXkoSgogICAgICAgICAgICAgICAgIGFycmF5
LT5pbml0aWFsaXplSW5kZXhXaXRob3V0QmFycmllcihzY29wZSwgaSwganNVbmRlZmluZWQoKSk7
CiAgICAgICAgIH0KICAgICB9IGVsc2UgewotICAgICAgICBPYmplY3RJbml0aWFsaXphdGlvblNj
b3BlIHNjb3BlKHZtKTsKICAgICAgICAgYXJyYXkgPSB0cnlDcmVhdGVVbmluaXRpYWxpemVkUmVn
RXhwTWF0Y2hlc0FycmF5KHNjb3BlLCAmZGVmZXJyYWxDb250ZXh0LCBnbG9iYWxPYmplY3QtPnJl
Z0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSgpLCByZWdFeHAtPm51bVN1YnBhdHRlcm5zKCkgKyAx
KTsKICAgICAgICAgUkVMRUFTRV9BU1NFUlQoYXJyYXkpOwogICAgICAgICAK
</data>
<flag name="review"
          id="397260"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>