<?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>211547</bug_id>
          
          <creation_ts>2020-05-06 20:35:17 -0700</creation_ts>
          <short_desc>Add stack checks to the DFG and FTL bytecode parser.</short_desc>
          <delta_ts>2020-05-07 12:26:35 -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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=211535</see_also>
          <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>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</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>1649945</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-06 20:35:17 -0700</bug_when>
    <thetext>Inlining can cause some level of recursion of the DFG bytecode parser.  We should do a stack check at each inlining check before recursing.  If a stack overflow appears to be imminent, then just refuse to inline, and therefore, don&apos;t recurse deeper into the parser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649946</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-06 20:35:42 -0700</bug_when>
    <thetext>&lt;rdar://problem/62958880&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649954</commentid>
    <comment_count>2</comment_count>
      <attachid>398701</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-06 21:07:19 -0700</bug_when>
    <thetext>Created attachment 398701
proposed patch.

Let&apos;s try this on the EWS first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649956</commentid>
    <comment_count>3</comment_count>
      <attachid>398702</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-06 21:38:17 -0700</bug_when>
    <thetext>Created attachment 398702
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1649973</commentid>
    <comment_count>4</comment_count>
      <attachid>398702</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-05-06 23:32:12 -0700</bug_when>
    <thetext>Comment on attachment 398702
proposed patch.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650102</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-07 08:17:28 -0700</bug_when>
    <thetext>The ios-wk2 EWS bot failures don&apos;t look related to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1650286</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-05-07 12:26:35 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r261325: &lt;http://trac.webkit.org/r261325&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398701</attachid>
            <date>2020-05-06 21:07:19 -0700</date>
            <delta_ts>2020-05-06 21:38:17 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-211547.patch</filename>
            <type>text/plain</type>
            <size>11103</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYxMjY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDIwLTA1LTA2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3RhY2sgY2hlY2tzIHRvIHRoZSBERkcgYW5kIEZUTCBieXRlY29kZSBwYXJzZXIuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1NDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYyOTU4ODgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIElubGluaW5nIGNhbiBjYXVzZSBzb21lIGxldmVsIG9mIHJl
Y3Vyc2lvbiBvZiB0aGUgREZHIGJ5dGVjb2RlIHBhcnNlci4gIFdlIHNob3VsZAorICAgICAgICBk
byBhIHN0YWNrIGNoZWNrIGF0IGVhY2ggaW5saW5pbmcgY2hlY2sgYmVmb3JlIHJlY3Vyc2luZy4g
IElmIGEgc3RhY2sgb3ZlcmZsb3cKKyAgICAgICAgYXBwZWFycyB0byBiZSBpbW1pbmVudCwgdGhl
biBqdXN0IHJlZnVzZSB0byBpbmxpbmUsIGFuZCB0aGVyZWZvcmUsIGRvbid0IHJlY3Vyc2UKKyAg
ICAgICAgZGVlcGVyIGludG8gdGhlIHBhcnNlci4KKworICAgICAgICBUaGlzIGlzc3VlIGlzIG1v
cmUgbm90aWNlYWJsZSBvbiBBU2FuIGRlYnVnIGJ1aWxkcyB3aGVyZSBzdGFjayBmcmFtZXMgY2Fu
IGJlCisgICAgICAgIGh1bW9uZ291cy4KKworICAgICAgICBSZW1vdmVkIHRoZSBTVVBQUkVTU19B
U0FOIG9uIGNsb2JlcnJpemUoKSBhbmQgdGhlIGFzc29jaWF0ZWQgY29tbWVudCBmcm9tIHIyNjA2
OTIuCisgICAgICAgIEl0IHdhcyBhIG1pcy1kaWFnbm9zaXMuICBUaGUgc3RhY2sgY2hlY2tzIGFy
ZSB3aGF0IHdlIG5lZWQuCisKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdzSW5saW5pbmcp
OgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyk6Cisg
ICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVy
aXplKToKKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoKKwogMjAyMC0wNS0wNiAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgQnlWYWwgbm9kZXMg
d2l0aCBBcnJheU1vZGVzIHNob3VsZCBjbG9iYmVyVG9wIHVudGlsIEZpeHVwIHBoYXNlIHJ1bnMu
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkocmV2aXNpb24gMjYxMjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MjYsNiArMTkyNiwxMiBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdzSW5saW5pCiAgICAgTm9kZVR5cGUgY2Fs
bE9wLCBJbmxpbmVDYWxsRnJhbWU6OktpbmQga2luZCkKIHsKICAgICBWRVJCT1NFX0xPRygiSGFu
ZGxpbmcgaW5saW5pbmcgKFZhcmFyZ3MpLi4uXG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4o
KSwgIlxuIik7CisKKyAgICBTdGFja0NoZWNrOjpTY29wZSBzdGFja0NoZWNrZXIobV9ncmFwaC5t
X3N0YWNrQ2hlY2tlcik7CisgICAgaWYgKCFzdGFja0NoZWNrZXIuaXNTYWZlVG9SZWN1cnNlKCkp
IHsKKyAgICAgICAgVkVSQk9TRV9MT0coIkJhaWxpbmcgaW5saW5pbmcgKGNvbXBpbGVyIHRocmVh
ZCBzdGFjayBvdmVyZmxvdyBlbWluZW50KS5cblN0YWNrOiAiLCBjdXJyZW50Q29kZU9yaWdpbigp
LCAiXG4iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KICAgICBpZiAoY2FsbExpbmtT
dGF0dXMubWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSA+IE9wdGlvbnM6Om1heGltdW1W
YXJhcmdzRm9ySW5saW5pbmcoKSkgewogICAgICAgICBWRVJCT1NFX0xPRygiQmFpbGluZyBpbmxp
bmluZzogdG9vIG1hbnkgYXJndW1lbnRzIGZvciB2YXJhcmdzIGlubGluaW5nLlxuIik7CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTIwNzAsNiArMjA3NiwxMiBAQCBCeXRlQ29kZVBhcnNlcjo6
Q2FsbE9wdGltaXphdGlvblJlc3VsdCBCCiAgICAgQnl0ZWNvZGVJbmRleCBvc3JFeGl0SW5kZXgs
IE5vZGVUeXBlIGNhbGxPcCwgSW5saW5lQ2FsbEZyYW1lOjpLaW5kIGtpbmQsIFNwZWN1bGF0ZWRU
eXBlIHByZWRpY3Rpb24pCiB7CiAgICAgVkVSQk9TRV9MT0coIkhhbmRsaW5nIGlubGluaW5nLi4u
XG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4oKSwgIlxuIik7CisKKyAgICBTdGFja0NoZWNr
OjpTY29wZSBzdGFja0NoZWNrZXIobV9ncmFwaC5tX3N0YWNrQ2hlY2tlcik7CisgICAgaWYgKCFz
dGFja0NoZWNrZXIuaXNTYWZlVG9SZWN1cnNlKCkpIHsKKyAgICAgICAgVkVSQk9TRV9MT0coIkJh
aWxpbmcgaW5saW5pbmcgKGNvbXBpbGVyIHRocmVhZCBzdGFjayBvdmVyZmxvdyBlbWluZW50KS5c
blN0YWNrOiAiLCBjdXJyZW50Q29kZU9yaWdpbigpLCAiXG4iKTsKKyAgICAgICAgcmV0dXJuIENh
bGxPcHRpbWl6YXRpb25SZXN1bHQ6OkRpZE5vdGhpbmc7CisgICAgfQogICAgIAogICAgIENvZGVT
cGVjaWFsaXphdGlvbktpbmQgc3BlY2lhbGl6YXRpb25LaW5kID0gSW5saW5lQ2FsbEZyYW1lOjpz
cGVjaWFsaXphdGlvbktpbmRGb3Ioa2luZCk7CiAgICAgdW5zaWduZWQgaW5saW5pbmdCYWxhbmNl
ID0gZ2V0SW5saW5pbmdCYWxhbmNlKGNhbGxMaW5rU3RhdHVzLCBzcGVjaWFsaXphdGlvbktpbmQp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHJldmlz
aW9uIDI2MTI2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSwyNSArMzksOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIERGRyB7CiAKLS8vIEZJWE1FOiBTVVBQUkVTU19BU0FOIGlzIG5lZWRlZCBoZXJlIGJl
Y2F1c2UgQVNhbiBjYW4gbWlzdGFrZW5seSB0aGluayB0aGF0Ci0vLyB3ZSdyZSBhY2Nlc2luZyBv
dXQgb2YgaW52YWxpZCBib3VuZHMgc3RhY2sgbWVtb3J5IHdoZW4gd2UncmUgbm90LiBGb3IgZXhh
bXBsZSwKLS8vIGluIHRoZSBDaGVja0lzQ29uc3RhbnQgY2FzZSBiZWxvdywgd2UgY29tcHV0ZToK
LS8vICAgIEFkamFjZW5jeUxpc3QoQWRqYWNlbmN5TGlzdDo6Rml4ZWQsIG5vZGUtPmNoaWxkMSgp
KQotLy8KLS8vIDEuIFRoZSBBZGphY2VuY3lMaXN0IGNvbnN0cnVjdG9yIHRha2VzIGFuIEVkZ2Ug
dmFsdWUuCi0vLyAyLiBub2RlLT5jaGlsZDEoKSByZXR1cm5zIGFuIEVkZ2UmLgotLy8gMy4gQ2xh
bmcgZ2VuZXJhdGVzIGEgY2FsbCB0byBfX2FzYW5fbWVtY3B5IHRvIGNvcHkgdGhlIHJldHVybiB2
YWx1ZSBvZgotLy8gICAgbm9kZS0+Y2hpbGQxKCkgdG8gYSB0ZW1wIGxvY2FsIG9uIHRoZSBzdGFj
ayB1c2VkIGZvciBwYXNzaW5nIHRoZSBFZGdlCi0vLyAgICBhcmd1bWVudCB0byB0aGUgQWRqYWNl
bmN5TGlzdCBjb25zdHJ1Y3Rvci4KLS8vIDQuIEluc2lkZSBfX2FzYW5fbWVtY3B5LCBpdCBhdHRl
bXB0cyB0byB3cml0ZSB0byB0aGUgdGVtcCBsb2NhbCBFZGdlIGluCi0vLyAgICBjbG9iYmVyaXpl
J3MgZnJhbWUgKG5vdCBfX2FzYW5fbWVtY3B5J3MgZnJhbWUpLCBhbmQgQVNhbiB3aWxsIHdyb25n
bHkKLS8vICAgIGZsYWcgdGhpcyBhcyBhbiBpbnZhbGlkIG91dCBvZiBzdGFjayBib3VuZHMgd3Jp
dGUuCi0vLwotLy8gVGhpcyBtYW5pZmVzdGVkIHdpdGggYSBkZWJ1ZyBBU2FuIGJ1aWxkLgotLy8g
U2VlIDxyZGFyOi8vcHJvYmxlbS82MjM2MjQwMz4uCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlYWRG
dW5jdG9yLCB0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIERlZkZ1bmN0b3I+Ci1TVVBQ
UkVTU19BU0FOIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0
IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1bmN0b3ImIHdyaXRlLCBjb25zdCBEZWZG
dW5jdG9yJiBkZWYpCit2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBj
b25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdW5jdG9yJiB3cml0ZSwgY29uc3Qg
RGVmRnVuY3RvciYgZGVmKQogewogICAgIGNsb2JiZXJpemUoZ3JhcGgsIG5vZGUsIHJlYWQsIHdy
aXRlLCBkZWYsIFtdIHsgfSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFw
aC5oCShyZXZpc2lvbiAyNjEyNjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MSw5ICs0MSwxMCBAQAogI2luY2x1ZGUgIk1ldGhv
ZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuaCIKICNpbmNsdWRlIDx3dGYvQml0VmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVk
ZSA8d3RmL1N0YWNrQ2hlY2suaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZFVub3JkZXJlZE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgU2luZ2xlUm9vdEdy
YXBoOwpAQCAtMTA2NSwxMSArMTA2NiwxMiBAQCBwdWJsaWM6CiAgICAgUHJlZml4JiBwcmVmaXgo
KSB7IHJldHVybiBtX3ByZWZpeDsgfQogICAgIHZvaWQgbmV4dFBoYXNlKCkgeyBtX3ByZWZpeC5w
aGFzZU51bWJlcisrOyB9CiAKKyAgICBTdGFja0NoZWNrIG1fc3RhY2tDaGVja2VyOwogICAgIFZN
JiBtX3ZtOwogICAgIFBsYW4mIG1fcGxhbjsKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2NrOwog
ICAgIENvZGVCbG9jayogbV9wcm9maWxlZEJsb2NrOwotICAgIAorCiAgICAgVmVjdG9yPFJlZlB0
cjxCYXNpY0Jsb2NrPiwgOD4gbV9ibG9ja3M7CiAgICAgVmVjdG9yPEJhc2ljQmxvY2sqLCAxPiBt
X3Jvb3RzOwogICAgIFZlY3RvcjxFZGdlLCAxNj4gbV92YXJBcmdDaGlsZHJlbjsKSW5kZXg6IFNv
dXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjEyNjMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTA2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3RhY2sgY2hlY2tzIHRvIHRoZSBERkcgYW5kIEZUTCBieXRlY29k
ZSBwYXJzZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTE1NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyOTU4ODgwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgU3RhY2tDaGVjazo6
U2NvcGUgUkFJSSBvYmplY3QgdG8gaGVscCB2ZXJpZnkgdGhhdCB0aGUgZGVmYXVsdCByZXNlcnZl
ZAorICAgICAgICB6b25lIHNpemUgaXMgYXQgbGVhc3QgYWRlcXVhdGUgZm9yIGtub3duIHdvcmsg
bG9hZHMuICBJZiB0aGlzIHRoZSBTdGFja0NoZWNrOjpTY29wZQorICAgICAgICBhc3NlcnRpb25z
IGZhaWwsIHRoZW4gd2UgZWl0aGVyIG5lZWQgbW9yZSBzdGFjayBjaGVja3MsIG9yIHRoZSByZXNl
cnZlZCB6b25lIHNpemUKKyAgICAgICAgbmVlZHMgdG8gYmUgaW5jcmVhc2VkLgorCisgICAgICAg
IE5vdGUgdGhhdCB0aGUgYXNzZXJ0aW9ucyBhcmUgdXN1YWxseSBvbmx5IG9uIGluIERlYnVnIGJ1
aWxkcy4gIElkZWFsbHksIHdlIHdvdWxkCisgICAgICAgIHdhbnQgdG8gbWVhc3VyZSB0aGUgcmVz
ZXJ2ZWQgem9uZSBzaXplIHdpdGggYSBSZWxlYXNlIGJ1aWxkLiAgVG8gZG8gdGhhdCwgd2UKKyAg
ICAgICAgY2FuIGp1c3Qgc2V0IFZFUklGWV9TVEFDS19DSEVDS19SRVNFUlZFRF9aT05FX1NJWkUg
dG8gMSB1bmNvbmRpdGlvbmFsbHkgaW4KKyAgICAgICAgU3RhY2tDaGVjay5oIGFuZCByZWJ1aWxk
LgorCisgICAgICAgICogd3RmL1N0YWNrQ2hlY2suaDoKKyAgICAgICAgKFdURjo6U3RhY2tDaGVj
azo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKFdURjo6U3RhY2tDaGVjazo6U2NvcGU6On5TY29w
ZSk6CisgICAgICAgIChXVEY6OlN0YWNrQ2hlY2s6OlNjb3BlOjppc1NhZmVUb1JlY3Vyc2UpOgor
ICAgICAgICAoV1RGOjpTdGFja0NoZWNrOjpTdGFja0NoZWNrKToKKwogMjAyMC0wNS0wNiAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBhIGhlbHBlciBmb3Ig
dGhlIHBhdHRlcm4gb2YgSUNVIGZ1bmN0aW9ucyB0aGF0IG1heSBuZWVkIHRvIGJlIGNhbGxlZCB0
d2ljZSB0byBwb3B1bGF0ZSBhIGJ1ZmZlcgpJbmRleDogU291cmNlL1dURi93dGYvU3RhY2tDaGVj
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1N0YWNrQ2hlY2suaAkocmV2aXNpb24g
MjYxMjYzKQorKysgU291cmNlL1dURi93dGYvU3RhY2tDaGVjay5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMw
LDE3ICszMCw4NyBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorLy8gV2Ugb25seSBlbmFibGUgdGhl
IHJlc2VydmVkIHpvbmUgc2l6ZSBjaGVjayBieSBkZWZhdWx0IG9uIEFTU0VSVF9FTkFCTEVECisv
LyBidWlsZHMgKHdoaWNoIHVzdWFsbHkgbWVhbiBEZWJ1ZyBidWlsZHMpLiBIb3dldmVyLCBpdCBp
cyBtb3JlIHZhbHVhYmxlIHRvCisvLyBydW4gdGhpcyB0ZXN0IG9uIFJlbGVhc2UgYnVpbGRzLiBU
aGF0IHNhaWQsIHdlIGRvbid0IHdhbnQgdG8gZG8gcGF5IHRoaXMKKy8vIGNvc3QgYWx3YXlzIGJl
Y2F1c2Ugd2UgbWF5IG5lZWQgdG8gZG8gc3RhY2sgY2hlY2tzIG9uIGhvdCBwYXRocyB0b28uCisv
LyBOb3RlIGFsc28gdGhhdCB3ZSdyZSBkZWxpYmVyYXRlbHkgdXNpbmcgUkVMRUFTRV9BU1NFUlRz
IGlmIHRoZSB2ZXJpZmljYXRpb24KKy8vIGlzIHR1cm5lZCBvbi4gVGhpcyBtYWtlcyBpdCBlYXNp
ZXIgZm9yIHVzIHRvIHR1cm4gdGhpcyBvbiBmb3IgUmVsZWFzZSBidWlsZHMKKy8vIGZvciBhIHJl
c2VydmVkIHpvbmUgc2l6ZSBjYWxpYnJhdGlvbiB0ZXN0IHJ1bnMuCisKKyNpZiBBU1NFUlRfRU5B
QkxFRAorI2RlZmluZSBWRVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFIDEKKyNl
bmRpZgorCiBjbGFzcyBTdGFja0NoZWNrIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsK
IHB1YmxpYzoKLSAgICBTdGFja0NoZWNrKGNvbnN0IFN0YWNrQm91bmRzJiBib3VuZHMgPSBUaHJl
YWQ6OmN1cnJlbnQoKS5zdGFjaygpLCBzaXplX3QgbWluUmVzZXJ2ZWRab25lID0gU3RhY2tCb3Vu
ZHM6OkRlZmF1bHRSZXNlcnZlZFpvbmUpCisgICAgY2xhc3MgU2NvcGUgeworICAgIHB1YmxpYzoK
KyAgICAgICAgU2NvcGUoU3RhY2tDaGVjayYgY2hlY2tlcikKKyAgICAgICAgICAgIDogbV9jaGVj
a2VyKGNoZWNrZXIpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fY2hlY2tlci5pc1NhZmVUb1Jl
Y3Vyc2UoKTsKKyNpZiBWRVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChjaGVja2VyLm1fb3duZXJUaHJlYWQgPT0gJlRocmVhZDo6
Y3VycmVudCgpKTsKKworICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHN0YWNrIGlu
dGVydmFsIGJldHdlZW4gY2hlY2tzIG5ldmVyIGV4Y2VlZCB0aGUKKyAgICAgICAgICAgIC8vIHJl
c2VydmVkWm9uZSBzaXplLiBJZiB0aGUgaW50ZXJ2YWwgZXhjZWVkcyB0aGUgcmVzZXJ2ZWRab25l
IHNpemUsCisgICAgICAgICAgICAvLyB0aGVuIHdlIGVpdGhlciBuZWVkIHRvOgorICAgICAgICAg
ICAgLy8gMS4gYnJlYWsgdGhlIGludGVydmFsIGludG8gc21hbGxlciBwaWVjZXMgKGkuZS4gaW5z
ZXJ0IG1vcmUgY2hlY2tzKSwgb3IKKyAgICAgICAgICAgIC8vIDIuIHVzZSBhIGxhcmdlciByZXNl
cnZlZFpvbmUgc2l6ZS4KKyAgICAgICAgICAgIHVpbnQ4X3QqIGN1cnJlbnRTdGFja0NoZWNrcG9p
bnQgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihjdXJyZW50U3RhY2tQb2ludGVyKCkpOwor
ICAgICAgICAgICAgdWludDhfdCogcHJldmlvdXNTdGFja0NoZWNrcG9pbnQgPSBtX2NoZWNrZXIu
bV9sYXN0U3RhY2tDaGVja3BvaW50OworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJldmlv
dXNTdGFja0NoZWNrcG9pbnQgLSBjdXJyZW50U3RhY2tDaGVja3BvaW50ID4gMCk7CisgICAgICAg
ICAgICBSRUxFQVNFX0FTU0VSVChwcmV2aW91c1N0YWNrQ2hlY2twb2ludCAtIGN1cnJlbnRTdGFj
a0NoZWNrcG9pbnQgPCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KG1fY2hlY2tlci5tX3Jlc2VydmVk
Wm9uZSkpOworCisgICAgICAgICAgICBtX3NhdmVkTGFzdFN0YWNrQ2hlY2twb2ludCA9IG1fY2hl
Y2tlci5tX2xhc3RTdGFja0NoZWNrcG9pbnQ7CisgICAgICAgICAgICBtX2NoZWNrZXIubV9sYXN0
U3RhY2tDaGVja3BvaW50ID0gY3VycmVudFN0YWNrQ2hlY2twb2ludDsKKyNlbmRpZgorICAgICAg
ICB9CisKKyNpZiBWRVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAgICAg
IH5TY29wZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIG1fY2hlY2tlci5tX2xhc3RTdGFja0No
ZWNrcG9pbnQgPSBtX3NhdmVkTGFzdFN0YWNrQ2hlY2twb2ludDsKKyAgICAgICAgfQorI2VuZGlm
CisKKyAgICAgICAgYm9vbCBpc1NhZmVUb1JlY3Vyc2UoKSB7IHJldHVybiBtX2NoZWNrZXIuaXNT
YWZlVG9SZWN1cnNlKCk7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFN0YWNrQ2hlY2smIG1f
Y2hlY2tlcjsKKyNpZiBWRVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAg
ICAgIHVpbnQ4X3QqIG1fc2F2ZWRMYXN0U3RhY2tDaGVja3BvaW50OworI2VuZGlmCisgICAgfTsK
KworICAgIFN0YWNrQ2hlY2soY29uc3QgU3RhY2tCb3VuZHMmIGJvdW5kcyA9IFRocmVhZDo6Y3Vy
cmVudCgpLnN0YWNrKCksIHNpemVfdCBtaW5SZXNlcnZlZFpvbmUgPSBkZWZhdWx0UmVzZXJ2ZWRa
b25lU2l6ZSkKICAgICAgICAgOiBtX3N0YWNrTGltaXQoYm91bmRzLnJlY3Vyc2lvbkxpbWl0KG1p
blJlc2VydmVkWm9uZSkpCisjaWYgVkVSSUZZX1NUQUNLX0NIRUNLX1JFU0VSVkVEX1pPTkVfU0la
RQorICAgICAgICAsIG1fb3duZXJUaHJlYWQoJlRocmVhZDo6Y3VycmVudCgpKQorICAgICAgICAs
IG1fbGFzdFN0YWNrQ2hlY2twb2ludChyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihjdXJyZW50
U3RhY2tQb2ludGVyKCkpKQorICAgICAgICAsIG1fcmVzZXJ2ZWRab25lKG1pblJlc2VydmVkWm9u
ZSkKKyNlbmRpZgogICAgIHsgfQogCiAgICAgaW5saW5lIGJvb2wgaXNTYWZlVG9SZWN1cnNlKCkg
eyByZXR1cm4gY3VycmVudFN0YWNrUG9pbnRlcigpID49IG1fc3RhY2tMaW1pdDsgfQogCiBwcml2
YXRlOgorI2lmIEFTQU5fRU5BQkxFRAorICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGRlZmF1
bHRSZXNlcnZlZFpvbmVTaXplID0gU3RhY2tCb3VuZHM6OkRlZmF1bHRSZXNlcnZlZFpvbmUgKiAy
OworI2Vsc2UKKyAgICBzdGF0aWMgY29uc3RleHByIHNpemVfdCBkZWZhdWx0UmVzZXJ2ZWRab25l
U2l6ZSA9IFN0YWNrQm91bmRzOjpEZWZhdWx0UmVzZXJ2ZWRab25lOworI2VuZGlmCisKICAgICB2
b2lkKiBtX3N0YWNrTGltaXQ7CisjaWYgVkVSSUZZX1NUQUNLX0NIRUNLX1JFU0VSVkVEX1pPTkVf
U0laRQorICAgIFRocmVhZCogbV9vd25lclRocmVhZDsKKyAgICB1aW50OF90KiBtX2xhc3RTdGFj
a0NoZWNrcG9pbnQ7CisgICAgc2l6ZV90IG1fcmVzZXJ2ZWRab25lOworI2VuZGlmCisKKyAgICBm
cmllbmQgY2xhc3MgU2NvcGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398702</attachid>
            <date>2020-05-06 21:38:17 -0700</date>
            <delta_ts>2020-05-06 23:32:12 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-211547.patch</filename>
            <type>text/plain</type>
            <size>11088</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjYxMjY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDIwLTA1LTA2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgc3RhY2sgY2hlY2tzIHRvIHRoZSBERkcgYW5kIEZUTCBieXRlY29kZSBwYXJzZXIuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTE1NDcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzYyOTU4ODgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIElubGluaW5nIGNhbiBjYXVzZSBzb21lIGxldmVsIG9mIHJl
Y3Vyc2lvbiBvZiB0aGUgREZHIGJ5dGVjb2RlIHBhcnNlci4gIFdlIHNob3VsZAorICAgICAgICBk
byBhIHN0YWNrIGNoZWNrIGF0IGVhY2ggaW5saW5pbmcgY2hlY2sgYmVmb3JlIHJlY3Vyc2luZy4g
IElmIGEgc3RhY2sgb3ZlcmZsb3cKKyAgICAgICAgYXBwZWFycyB0byBiZSBpbW1pbmVudCwgdGhl
biBqdXN0IHJlZnVzZSB0byBpbmxpbmUsIGFuZCB0aGVyZWZvcmUsIGRvbid0IHJlY3Vyc2UKKyAg
ICAgICAgZGVlcGVyIGludG8gdGhlIHBhcnNlci4KKworICAgICAgICBUaGlzIGlzc3VlIGlzIG1v
cmUgbm90aWNlYWJsZSBvbiBBU2FuIGRlYnVnIGJ1aWxkcyB3aGVyZSBzdGFjayBmcmFtZXMgY2Fu
IGJlCisgICAgICAgIGh1bW9uZ291cy4KKworICAgICAgICBSZW1vdmVkIHRoZSBTVVBQUkVTU19B
U0FOIG9uIGNsb2JlcnJpemUoKSBhbmQgdGhlIGFzc29jaWF0ZWQgY29tbWVudCBmcm9tIHIyNjA2
OTIuCisgICAgICAgIEl0IHdhcyBhIG1pcy1kaWFnbm9zaXMuICBUaGUgc3RhY2sgY2hlY2tzIGFy
ZSB3aGF0IHdlIG5lZWQuCisKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdzSW5saW5pbmcp
OgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVJbmxpbmluZyk6Cisg
ICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVy
aXplKToKKyAgICAgICAgKiBkZmcvREZHR3JhcGguaDoKKwogMjAyMC0wNS0wNiAgS2VpdGggTWls
bGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBERkcgQnlWYWwgbm9kZXMg
d2l0aCBBcnJheU1vZGVzIHNob3VsZCBjbG9iYmVyVG9wIHVudGlsIEZpeHVwIHBoYXNlIHJ1bnMu
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkocmV2aXNpb24gMjYxMjYzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MjYsNiArMTkyNiwxMiBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVWYXJhcmdzSW5saW5pCiAgICAgTm9kZVR5cGUgY2Fs
bE9wLCBJbmxpbmVDYWxsRnJhbWU6OktpbmQga2luZCkKIHsKICAgICBWRVJCT1NFX0xPRygiSGFu
ZGxpbmcgaW5saW5pbmcgKFZhcmFyZ3MpLi4uXG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4o
KSwgIlxuIik7CisKKyAgICBTdGFja0NoZWNrOjpTY29wZSBzdGFja0NoZWNrZXIobV9ncmFwaC5t
X3N0YWNrQ2hlY2tlcik7CisgICAgaWYgKCFzdGFja0NoZWNrZXIuaXNTYWZlVG9SZWN1cnNlKCkp
IHsKKyAgICAgICAgVkVSQk9TRV9MT0coIkJhaWxpbmcgaW5saW5pbmcgKGNvbXBpbGVyIHRocmVh
ZCBzdGFjayBvdmVyZmxvdyBlbWluZW50KS5cblN0YWNrOiAiLCBjdXJyZW50Q29kZU9yaWdpbigp
LCAiXG4iKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KICAgICBpZiAoY2FsbExpbmtT
dGF0dXMubWF4QXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMoKSA+IE9wdGlvbnM6Om1heGltdW1W
YXJhcmdzRm9ySW5saW5pbmcoKSkgewogICAgICAgICBWRVJCT1NFX0xPRygiQmFpbGluZyBpbmxp
bmluZzogdG9vIG1hbnkgYXJndW1lbnRzIGZvciB2YXJhcmdzIGlubGluaW5nLlxuIik7CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKQEAgLTIwNzAsNiArMjA3NiwxMiBAQCBCeXRlQ29kZVBhcnNlcjo6
Q2FsbE9wdGltaXphdGlvblJlc3VsdCBCCiAgICAgQnl0ZWNvZGVJbmRleCBvc3JFeGl0SW5kZXgs
IE5vZGVUeXBlIGNhbGxPcCwgSW5saW5lQ2FsbEZyYW1lOjpLaW5kIGtpbmQsIFNwZWN1bGF0ZWRU
eXBlIHByZWRpY3Rpb24pCiB7CiAgICAgVkVSQk9TRV9MT0coIkhhbmRsaW5nIGlubGluaW5nLi4u
XG5TdGFjazogIiwgY3VycmVudENvZGVPcmlnaW4oKSwgIlxuIik7CisKKyAgICBTdGFja0NoZWNr
OjpTY29wZSBzdGFja0NoZWNrZXIobV9ncmFwaC5tX3N0YWNrQ2hlY2tlcik7CisgICAgaWYgKCFz
dGFja0NoZWNrZXIuaXNTYWZlVG9SZWN1cnNlKCkpIHsKKyAgICAgICAgVkVSQk9TRV9MT0coIkJh
aWxpbmcgaW5saW5pbmcgKGNvbXBpbGVyIHRocmVhZCBzdGFjayBvdmVyZmxvdyBlbWluZW50KS5c
blN0YWNrOiAiLCBjdXJyZW50Q29kZU9yaWdpbigpLCAiXG4iKTsKKyAgICAgICAgcmV0dXJuIENh
bGxPcHRpbWl6YXRpb25SZXN1bHQ6OkRpZE5vdGhpbmc7CisgICAgfQogICAgIAogICAgIENvZGVT
cGVjaWFsaXphdGlvbktpbmQgc3BlY2lhbGl6YXRpb25LaW5kID0gSW5saW5lQ2FsbEZyYW1lOjpz
cGVjaWFsaXphdGlvbktpbmRGb3Ioa2luZCk7CiAgICAgdW5zaWduZWQgaW5saW5pbmdCYWxhbmNl
ID0gZ2V0SW5saW5pbmdCYWxhbmNlKGNhbGxMaW5rU3RhdHVzLCBzcGVjaWFsaXphdGlvbktpbmQp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHJldmlz
aW9uIDI2MTI2MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSwyNSArMzksOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIERGRyB7CiAKLS8vIEZJWE1FOiBTVVBQUkVTU19BU0FOIGlzIG5lZWRlZCBoZXJlIGJl
Y2F1c2UgQVNhbiBjYW4gbWlzdGFrZW5seSB0aGluayB0aGF0Ci0vLyB3ZSdyZSBhY2Nlc2luZyBv
dXQgb2YgaW52YWxpZCBib3VuZHMgc3RhY2sgbWVtb3J5IHdoZW4gd2UncmUgbm90LiBGb3IgZXhh
bXBsZSwKLS8vIGluIHRoZSBDaGVja0lzQ29uc3RhbnQgY2FzZSBiZWxvdywgd2UgY29tcHV0ZToK
LS8vICAgIEFkamFjZW5jeUxpc3QoQWRqYWNlbmN5TGlzdDo6Rml4ZWQsIG5vZGUtPmNoaWxkMSgp
KQotLy8KLS8vIDEuIFRoZSBBZGphY2VuY3lMaXN0IGNvbnN0cnVjdG9yIHRha2VzIGFuIEVkZ2Ug
dmFsdWUuCi0vLyAyLiBub2RlLT5jaGlsZDEoKSByZXR1cm5zIGFuIEVkZ2UmLgotLy8gMy4gQ2xh
bmcgZ2VuZXJhdGVzIGEgY2FsbCB0byBfX2FzYW5fbWVtY3B5IHRvIGNvcHkgdGhlIHJldHVybiB2
YWx1ZSBvZgotLy8gICAgbm9kZS0+Y2hpbGQxKCkgdG8gYSB0ZW1wIGxvY2FsIG9uIHRoZSBzdGFj
ayB1c2VkIGZvciBwYXNzaW5nIHRoZSBFZGdlCi0vLyAgICBhcmd1bWVudCB0byB0aGUgQWRqYWNl
bmN5TGlzdCBjb25zdHJ1Y3Rvci4KLS8vIDQuIEluc2lkZSBfX2FzYW5fbWVtY3B5LCBpdCBhdHRl
bXB0cyB0byB3cml0ZSB0byB0aGUgdGVtcCBsb2NhbCBFZGdlIGluCi0vLyAgICBjbG9iYmVyaXpl
J3MgZnJhbWUgKG5vdCBfX2FzYW5fbWVtY3B5J3MgZnJhbWUpLCBhbmQgQVNhbiB3aWxsIHdyb25n
bHkKLS8vICAgIGZsYWcgdGhpcyBhcyBhbiBpbnZhbGlkIG91dCBvZiBzdGFjayBib3VuZHMgd3Jp
dGUuCi0vLwotLy8gVGhpcyBtYW5pZmVzdGVkIHdpdGggYSBkZWJ1ZyBBU2FuIGJ1aWxkLgotLy8g
U2VlIDxyZGFyOi8vcHJvYmxlbS82MjM2MjQwMz4uCi0KIHRlbXBsYXRlPHR5cGVuYW1lIFJlYWRG
dW5jdG9yLCB0eXBlbmFtZSBXcml0ZUZ1bmN0b3IsIHR5cGVuYW1lIERlZkZ1bmN0b3I+Ci1TVVBQ
UkVTU19BU0FOIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIGNvbnN0
IFJlYWRGdW5jdG9yJiByZWFkLCBjb25zdCBXcml0ZUZ1bmN0b3ImIHdyaXRlLCBjb25zdCBEZWZG
dW5jdG9yJiBkZWYpCit2b2lkIGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBj
b25zdCBSZWFkRnVuY3RvciYgcmVhZCwgY29uc3QgV3JpdGVGdW5jdG9yJiB3cml0ZSwgY29uc3Qg
RGVmRnVuY3RvciYgZGVmKQogewogICAgIGNsb2JiZXJpemUoZ3JhcGgsIG5vZGUsIHJlYWQsIHdy
aXRlLCBkZWYsIFtdIHsgfSk7CiB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0dyYXBoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFw
aC5oCShyZXZpc2lvbiAyNjEyNjMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dy
YXBoLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChD
KSAyMDExLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExLTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00MSw5ICs0MSwxMCBAQAogI2luY2x1ZGUgIk1ldGhv
ZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUuaCIKICNpbmNsdWRlIDx3dGYvQml0VmVjdG9yLmg+CiAj
aW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVk
ZSA8d3RmL1N0YWNrQ2hlY2suaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5j
bHVkZSA8d3RmL1N0ZFVub3JkZXJlZE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAog
bmFtZXNwYWNlIFdURiB7CiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gY2xhc3MgU2luZ2xlUm9vdEdy
YXBoOwpAQCAtMTA2NSwxMSArMTA2NiwxMiBAQCBwdWJsaWM6CiAgICAgUHJlZml4JiBwcmVmaXgo
KSB7IHJldHVybiBtX3ByZWZpeDsgfQogICAgIHZvaWQgbmV4dFBoYXNlKCkgeyBtX3ByZWZpeC5w
aGFzZU51bWJlcisrOyB9CiAKKyAgICBTdGFja0NoZWNrIG1fc3RhY2tDaGVja2VyOwogICAgIFZN
JiBtX3ZtOwogICAgIFBsYW4mIG1fcGxhbjsKICAgICBDb2RlQmxvY2sqIG1fY29kZUJsb2NrOwog
ICAgIENvZGVCbG9jayogbV9wcm9maWxlZEJsb2NrOwotICAgIAorCiAgICAgVmVjdG9yPFJlZlB0
cjxCYXNpY0Jsb2NrPiwgOD4gbV9ibG9ja3M7CiAgICAgVmVjdG9yPEJhc2ljQmxvY2sqLCAxPiBt
X3Jvb3RzOwogICAgIFZlY3RvcjxFZGdlLCAxNj4gbV92YXJBcmdDaGlsZHJlbjsKSW5kZXg6IFNv
dXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAyNjEyNjMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTA2ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3RhY2sgY2hlY2tzIHRvIHRoZSBERkcgYW5kIEZUTCBieXRlY29k
ZSBwYXJzZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTE1NDcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzYyOTU4ODgwPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgU3RhY2tDaGVjazo6
U2NvcGUgUkFJSSBvYmplY3QgdG8gaGVscCB2ZXJpZnkgdGhhdCB0aGUgZGVmYXVsdCByZXNlcnZl
ZAorICAgICAgICB6b25lIHNpemUgaXMgYXQgbGVhc3QgYWRlcXVhdGUgZm9yIGtub3duIHdvcmsg
bG9hZHMuICBJZiB0aGlzIHRoZSBTdGFja0NoZWNrOjpTY29wZQorICAgICAgICBhc3NlcnRpb25z
IGZhaWwsIHRoZW4gd2UgZWl0aGVyIG5lZWQgbW9yZSBzdGFjayBjaGVja3MsIG9yIHRoZSByZXNl
cnZlZCB6b25lIHNpemUKKyAgICAgICAgbmVlZHMgdG8gYmUgaW5jcmVhc2VkLgorCisgICAgICAg
IE5vdGUgdGhhdCB0aGUgYXNzZXJ0aW9ucyBhcmUgdXN1YWxseSBvbmx5IG9uIGluIERlYnVnIGJ1
aWxkcy4gIElkZWFsbHksIHdlIHdvdWxkCisgICAgICAgIHdhbnQgdG8gbWVhc3VyZSB0aGUgcmVz
ZXJ2ZWQgem9uZSBzaXplIHdpdGggYSBSZWxlYXNlIGJ1aWxkLiAgVG8gZG8gdGhhdCwgd2UKKyAg
ICAgICAgY2FuIGp1c3Qgc2V0IFZFUklGWV9TVEFDS19DSEVDS19SRVNFUlZFRF9aT05FX1NJWkUg
dG8gMSB1bmNvbmRpdGlvbmFsbHkgaW4KKyAgICAgICAgU3RhY2tDaGVjay5oIGFuZCByZWJ1aWxk
LgorCisgICAgICAgICogd3RmL1N0YWNrQ2hlY2suaDoKKyAgICAgICAgKFdURjo6U3RhY2tDaGVj
azo6U2NvcGU6OlNjb3BlKToKKyAgICAgICAgKFdURjo6U3RhY2tDaGVjazo6U2NvcGU6On5TY29w
ZSk6CisgICAgICAgIChXVEY6OlN0YWNrQ2hlY2s6OlNjb3BlOjppc1NhZmVUb1JlY3Vyc2UpOgor
ICAgICAgICAoV1RGOjpTdGFja0NoZWNrOjpTdGFja0NoZWNrKToKKwogMjAyMC0wNS0wNiAgRGFy
aW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBhIGhlbHBlciBmb3Ig
dGhlIHBhdHRlcm4gb2YgSUNVIGZ1bmN0aW9ucyB0aGF0IG1heSBuZWVkIHRvIGJlIGNhbGxlZCB0
d2ljZSB0byBwb3B1bGF0ZSBhIGJ1ZmZlcgpJbmRleDogU291cmNlL1dURi93dGYvU3RhY2tDaGVj
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1N0YWNrQ2hlY2suaAkocmV2aXNpb24g
MjYxMjYzKQorKysgU291cmNlL1dURi93dGYvU3RhY2tDaGVjay5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTktMjAyMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMw
LDE3ICszMCw4NSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAorLy8gV2Ugb25seSBlbmFibGUgdGhl
IHJlc2VydmVkIHpvbmUgc2l6ZSBjaGVjayBieSBkZWZhdWx0IG9uIEFTU0VSVF9FTkFCTEVECisv
LyBidWlsZHMgKHdoaWNoIHVzdWFsbHkgbWVhbiBEZWJ1ZyBidWlsZHMpLiBIb3dldmVyLCBpdCBp
cyBtb3JlIHZhbHVhYmxlIHRvCisvLyBydW4gdGhpcyB0ZXN0IG9uIFJlbGVhc2UgYnVpbGRzLiBU
aGF0IHNhaWQsIHdlIGRvbid0IHdhbnQgdG8gZG8gcGF5IHRoaXMKKy8vIGNvc3QgYWx3YXlzIGJl
Y2F1c2Ugd2UgbWF5IG5lZWQgdG8gZG8gc3RhY2sgY2hlY2tzIG9uIGhvdCBwYXRocyB0b28uCisv
LyBOb3RlIGFsc28gdGhhdCB3ZSdyZSBkZWxpYmVyYXRlbHkgdXNpbmcgUkVMRUFTRV9BU1NFUlRz
IGlmIHRoZSB2ZXJpZmljYXRpb24KKy8vIGlzIHR1cm5lZCBvbi4gVGhpcyBtYWtlcyBpdCBlYXNp
ZXIgZm9yIHVzIHRvIHR1cm4gdGhpcyBvbiBmb3IgUmVsZWFzZSBidWlsZHMKKy8vIGZvciBhIHJl
c2VydmVkIHpvbmUgc2l6ZSBjYWxpYnJhdGlvbiB0ZXN0IHJ1bnMuCisKKyNkZWZpbmUgVkVSSUZZ
X1NUQUNLX0NIRUNLX1JFU0VSVkVEX1pPTkVfU0laRSBBU1NFUlRfRU5BQkxFRAorCiBjbGFzcyBT
dGFja0NoZWNrIHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBT
dGFja0NoZWNrKGNvbnN0IFN0YWNrQm91bmRzJiBib3VuZHMgPSBUaHJlYWQ6OmN1cnJlbnQoKS5z
dGFjaygpLCBzaXplX3QgbWluUmVzZXJ2ZWRab25lID0gU3RhY2tCb3VuZHM6OkRlZmF1bHRSZXNl
cnZlZFpvbmUpCisgICAgY2xhc3MgU2NvcGUgeworICAgIHB1YmxpYzoKKyAgICAgICAgU2NvcGUo
U3RhY2tDaGVjayYgY2hlY2tlcikKKyAgICAgICAgICAgIDogbV9jaGVja2VyKGNoZWNrZXIpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIG1fY2hlY2tlci5pc1NhZmVUb1JlY3Vyc2UoKTsKKyNpZiBW
RVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAgICAgICAgICBSRUxFQVNF
X0FTU0VSVChjaGVja2VyLm1fb3duZXJUaHJlYWQgPT0gJlRocmVhZDo6Y3VycmVudCgpKTsKKwor
ICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHN0YWNrIGludGVydmFsIGJldHdlZW4g
Y2hlY2tzIG5ldmVyIGV4Y2VlZCB0aGUKKyAgICAgICAgICAgIC8vIHJlc2VydmVkWm9uZSBzaXpl
LiBJZiB0aGUgaW50ZXJ2YWwgZXhjZWVkcyB0aGUgcmVzZXJ2ZWRab25lIHNpemUsCisgICAgICAg
ICAgICAvLyB0aGVuIHdlIGVpdGhlciBuZWVkIHRvOgorICAgICAgICAgICAgLy8gMS4gYnJlYWsg
dGhlIGludGVydmFsIGludG8gc21hbGxlciBwaWVjZXMgKGkuZS4gaW5zZXJ0IG1vcmUgY2hlY2tz
KSwgb3IKKyAgICAgICAgICAgIC8vIDIuIHVzZSBhIGxhcmdlciByZXNlcnZlZFpvbmUgc2l6ZS4K
KyAgICAgICAgICAgIHVpbnQ4X3QqIGN1cnJlbnRTdGFja0NoZWNrcG9pbnQgPSByZWludGVycHJl
dF9jYXN0PHVpbnQ4X3QqPihjdXJyZW50U3RhY2tQb2ludGVyKCkpOworICAgICAgICAgICAgdWlu
dDhfdCogcHJldmlvdXNTdGFja0NoZWNrcG9pbnQgPSBtX2NoZWNrZXIubV9sYXN0U3RhY2tDaGVj
a3BvaW50OworICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQocHJldmlvdXNTdGFja0NoZWNrcG9p
bnQgLSBjdXJyZW50U3RhY2tDaGVja3BvaW50ID4gMCk7CisgICAgICAgICAgICBSRUxFQVNFX0FT
U0VSVChwcmV2aW91c1N0YWNrQ2hlY2twb2ludCAtIGN1cnJlbnRTdGFja0NoZWNrcG9pbnQgPCBz
dGF0aWNfY2FzdDxwdHJkaWZmX3Q+KG1fY2hlY2tlci5tX3Jlc2VydmVkWm9uZSkpOworCisgICAg
ICAgICAgICBtX3NhdmVkTGFzdFN0YWNrQ2hlY2twb2ludCA9IG1fY2hlY2tlci5tX2xhc3RTdGFj
a0NoZWNrcG9pbnQ7CisgICAgICAgICAgICBtX2NoZWNrZXIubV9sYXN0U3RhY2tDaGVja3BvaW50
ID0gY3VycmVudFN0YWNrQ2hlY2twb2ludDsKKyNlbmRpZgorICAgICAgICB9CisKKyNpZiBWRVJJ
RllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAgICAgIH5TY29wZSgpCisgICAg
ICAgIHsKKyAgICAgICAgICAgIG1fY2hlY2tlci5tX2xhc3RTdGFja0NoZWNrcG9pbnQgPSBtX3Nh
dmVkTGFzdFN0YWNrQ2hlY2twb2ludDsKKyAgICAgICAgfQorI2VuZGlmCisKKyAgICAgICAgYm9v
bCBpc1NhZmVUb1JlY3Vyc2UoKSB7IHJldHVybiBtX2NoZWNrZXIuaXNTYWZlVG9SZWN1cnNlKCk7
IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIFN0YWNrQ2hlY2smIG1fY2hlY2tlcjsKKyNpZiBW
RVJJRllfU1RBQ0tfQ0hFQ0tfUkVTRVJWRURfWk9ORV9TSVpFCisgICAgICAgIHVpbnQ4X3QqIG1f
c2F2ZWRMYXN0U3RhY2tDaGVja3BvaW50OworI2VuZGlmCisgICAgfTsKKworICAgIFN0YWNrQ2hl
Y2soY29uc3QgU3RhY2tCb3VuZHMmIGJvdW5kcyA9IFRocmVhZDo6Y3VycmVudCgpLnN0YWNrKCks
IHNpemVfdCBtaW5SZXNlcnZlZFpvbmUgPSBkZWZhdWx0UmVzZXJ2ZWRab25lU2l6ZSkKICAgICAg
ICAgOiBtX3N0YWNrTGltaXQoYm91bmRzLnJlY3Vyc2lvbkxpbWl0KG1pblJlc2VydmVkWm9uZSkp
CisjaWYgVkVSSUZZX1NUQUNLX0NIRUNLX1JFU0VSVkVEX1pPTkVfU0laRQorICAgICAgICAsIG1f
b3duZXJUaHJlYWQoJlRocmVhZDo6Y3VycmVudCgpKQorICAgICAgICAsIG1fbGFzdFN0YWNrQ2hl
Y2twb2ludChyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihjdXJyZW50U3RhY2tQb2ludGVyKCkp
KQorICAgICAgICAsIG1fcmVzZXJ2ZWRab25lKG1pblJlc2VydmVkWm9uZSkKKyNlbmRpZgogICAg
IHsgfQogCiAgICAgaW5saW5lIGJvb2wgaXNTYWZlVG9SZWN1cnNlKCkgeyByZXR1cm4gY3VycmVu
dFN0YWNrUG9pbnRlcigpID49IG1fc3RhY2tMaW1pdDsgfQogCiBwcml2YXRlOgorI2lmIEFTQU5f
RU5BQkxFRAorICAgIHN0YXRpYyBjb25zdGV4cHIgc2l6ZV90IGRlZmF1bHRSZXNlcnZlZFpvbmVT
aXplID0gU3RhY2tCb3VuZHM6OkRlZmF1bHRSZXNlcnZlZFpvbmUgKiAyOworI2Vsc2UKKyAgICBz
dGF0aWMgY29uc3RleHByIHNpemVfdCBkZWZhdWx0UmVzZXJ2ZWRab25lU2l6ZSA9IFN0YWNrQm91
bmRzOjpEZWZhdWx0UmVzZXJ2ZWRab25lOworI2VuZGlmCisKICAgICB2b2lkKiBtX3N0YWNrTGlt
aXQ7CisjaWYgVkVSSUZZX1NUQUNLX0NIRUNLX1JFU0VSVkVEX1pPTkVfU0laRQorICAgIFRocmVh
ZCogbV9vd25lclRocmVhZDsKKyAgICB1aW50OF90KiBtX2xhc3RTdGFja0NoZWNrcG9pbnQ7Cisg
ICAgc2l6ZV90IG1fcmVzZXJ2ZWRab25lOworI2VuZGlmCisKKyAgICBmcmllbmQgY2xhc3MgU2Nv
cGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVEYK
</data>
<flag name="review"
          id="414108"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>