<?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>69978</bug_id>
          
          <creation_ts>2011-10-12 17:02:51 -0700</creation_ts>
          <short_desc>MacroAssemblerX86 8-bit register ops unsafe on CPU(X86)</short_desc>
          <delta_ts>2011-10-12 18:50:59 -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="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>482863</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-12 17:02:51 -0700</bug_when>
    <thetext>Certain ops are unsafe if the register passed is esp..edi (will instead test/set the ).

compare32/test8/test32 Call setCC, which sets an 8-bit register - we can fix this by adding a couple of xchg instructions.

branchTest8 with a register argument is also affected.  In all cases this is currently used this is testing a value that is correct to 32 or more bits, so we can simply switch these to branchTest32 &amp; remove the corresponding branchTest8 (this is desirable anyway, since the 32-bit form is cheaper to implement on platforms that don&apos;t have an 8-bit compare instruction).

This fixes the remaining fast/js failures with the DFG JIT 32_64.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482866</commentid>
    <comment_count>1</comment_count>
      <attachid>110773</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-12 17:06:24 -0700</bug_when>
    <thetext>Created attachment 110773
The fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482874</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-12 17:09:47 -0700</bug_when>
    <thetext>Attachment 110773 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/ChangeLog:20:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482945</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-10-12 18:50:59 -0700</bug_when>
    <thetext>Fixed in r97331</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110773</attachid>
            <date>2011-10-12 17:06:24 -0700</date>
            <delta_ts>2011-10-12 17:11:09 -0700</delta_ts>
            <desc>The fix</desc>
            <filename>69978.patch</filename>
            <type>text/plain</type>
            <size>12894</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTczMTgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMTEtMTAtMTIgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXJYODYgOC1iaXQgcmVnaXN0ZXIgb3BzIHVuc2FmZSBvbiBD
UFUoWDg2KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk5NzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBD
ZXJ0YWluIG9wcyBhcmUgdW5zYWZlIGlmIHRoZSByZWdpc3RlciBwYXNzZWQgaXMgZXNwLi5lZGkg
KHdpbGwgaW5zdGVhZCB0ZXN0L3NldCB0aGUgKS4KKworICAgICAgICBjb21wYXJlMzIvdGVzdDgv
dGVzdDMyIENhbGwgc2V0Q0MsIHdoaWNoIHNldHMgYW4gOC1iaXQgcmVnaXN0ZXIgLSB3ZSBjYW4g
Zml4IHRoaXMgYnkgYWRkaW5nCisgICAgICAgIGEgY291cGxlIG9mIHhjaGcgaW5zdHJ1Y3Rpb25z
LgorCisgICAgICAgIGJyYW5jaFRlc3Q4IHdpdGggYSByZWdpc3RlciBhcmd1bWVudCBpcyBhbHNv
IGFmZmVjdGVkLiBJbiBhbGwgY2FzZXMgdGhpcyBpcyBjdXJyZW50bHkgdXNlZAorICAgICAgICB0
aGlzIGlzIHRlc3RpbmcgYSB2YWx1ZSB0aGF0IGlzIGNvcnJlY3QgdG8gMzIgb3IgbW9yZSBiaXRz
LCBzbyB3ZSBjYW4gc2ltcGx5IHN3aXRjaCB0aGVzZQorICAgICAgICB0byBicmFuY2hUZXN0MzIg
JiByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgYnJhbmNoVGVzdDggKHRoaXMgaXMgZGVzaXJhYmxl
IGFueXdheSwgc2luY2UgdGhlCisgICAgICAgIDMyLWJpdCBmb3JtIGlzIGNoZWFwZXIgdG8gaW1w
bGVtZW50IG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IGhhdmUgYW4gOC1iaXQgY29tcGFyZSBpbnN0
cnVjdGlvbikuCisKKyAgICAgICAgVGhpcyBmaXhlcyB0aGUgcmVtYWluaW5nIGZhc3QvanMgZmFp
bHVyZXMgd2l0aCB0aGUgREZHIEpJVCAzMl82NC4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlckFSTXY3LmgKKyAgICAgICAgICAgIC0gcmVtb3ZlZCBicmFuY2hUZXN0OC4KKyAg
ICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNvbXBhcmUzMik6CisgICAgICAgIChKU0M6Ok1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjp0ZXN0OCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uOjp0ZXN0MzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNv
bW1vbjo6c2V0MzIpOgorICAgICAgICAgICAgLSBhZGRlZCBzZXQzMiBoZWxwZXIgdGhhdCBpcyAn
aCcgcmVnaXN0ZXIgc2FmZS4KKyAgICAgICAgICAgIC0gcmVtb3ZlZCBicmFuY2hUZXN0OC4KKyAg
ICAgICAgKiBkZmcvREZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZXBob2xlQnJhbmNoKToKKyAg
ICAgICAgKEpTQzo6REZHOjpKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZXBob2xl
U3RyaWN0RXEpOgorICAgICAgICAgICAgLSBzd2l0Y2ggdXNlcyBvZiBicmFuY2hUZXN0OCB0byBi
cmFuY2hUZXN0MzIuCisgICAgICAgICogZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5jcHA6Cisg
ICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWVwaG9s
ZUJyYW5jaCk6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3Vs
YXRpdmVQZWVwaG9sZVN0cmljdEVxKToKKyAgICAgICAgICAgIC0gc3dpdGNoIHVzZXMgb2YgYnJh
bmNoVGVzdDggdG8gYnJhbmNoVGVzdDMyLgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdEJyYW5j
aCk6CisgICAgICAgICAgICAtIHN3aXRjaCB1c2VzIG9mIGJyYW5jaFRlc3Q4IHRvIGJyYW5jaFRl
c3QzMi4KKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRCcmFuY2gpOgorICAgICAgICAgICAgLSBzd2l0
Y2ggdXNlcyBvZiBicmFuY2hUZXN0OCB0byBicmFuY2hUZXN0MzIuCisKIDIwMTEtMTAtMTIgIEdh
dmluIEJhcnJhY2xvdWdoICA8YmFyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAgRXJycmss
IHJldmVydCBhY2NpZGVudGFsIGNvbW1pdCEKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCShyZXZpc2lvbiA5NzI5
NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12
Ny5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEzLDEyICsxMDEzLDYgQEAgcHVibGljOgogICAgICAg
ICByZXR1cm4gYnJhbmNoVGVzdDMyKGNvbmQsIGFkZHJlc3NUZW1wUmVnaXN0ZXIsIG1hc2spOwog
ICAgIH0KIAotICAgIEp1bXAgYnJhbmNoVGVzdDgoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJlZ2lz
dGVySUQgcmVnLCBUcnVzdGVkSW1tMzIgbWFzayA9IFRydXN0ZWRJbW0zMigtMSkpCi0gICAgewot
ICAgICAgICB0ZXN0MzIocmVnLCBtYXNrKTsKLSAgICAgICAgcmV0dXJuIEp1bXAobWFrZUJyYW5j
aChjb25kKSk7Ci0gICAgfQotCiAgICAgSnVtcCBicmFuY2hUZXN0OChSZXN1bHRDb25kaXRpb24g
Y29uZCwgQWRkcmVzcyBhZGRyZXNzLCBUcnVzdGVkSW1tMzIgbWFzayA9IFRydXN0ZWRJbW0zMigt
MSkpCiAgICAgewogICAgICAgICAvLyB1c2UgYWRkcmVzc1RlbXBSZWdpc3RlciBpbmNhc2UgdGhl
IGJyYW5jaFRlc3Q4IHdlIGNhbGwgdXNlcyBkYXRhVGVtcFJlZ2lzdGVyLiA6LS8KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uLmgJKHJldmlzaW9uIDk3Mjk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC05
MzEsMTcgKzkzMSw2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIu
akNDKHg4NkNvbmRpdGlvbihjb25kKSkpOwogICAgIH0KICAgICAKLSAgICBKdW1wIGJyYW5jaFRl
c3Q4KFJlc3VsdENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIHJlZywgVHJ1c3RlZEltbTMyIG1h
c2sgPSBUcnVzdGVkSW1tMzIoLTEpKQotICAgIHsKLSAgICAgICAgLy8gQnl0ZSBpbiBUcnVzdGVk
SW1tMzIgaXMgbm90IHdlbGwgZGVmaW5lZCwgc28gYmUgYSBsaXR0bGUgcGVybWlzaXZlIGhlcmUs
IGJ1dCBkb24ndCBhY2NlcHQgbm9uc2Vuc2UgdmFsdWVzLgotICAgICAgICBBU1NFUlQobWFzay5t
X3ZhbHVlID49IC0xMjggJiYgbWFzay5tX3ZhbHVlIDw9IDI1NSk7Ci0gICAgICAgIGlmIChtYXNr
Lm1fdmFsdWUgPT0gLTEpCi0gICAgICAgICAgICBtX2Fzc2VtYmxlci50ZXN0Yl9ycihyZWcsIHJl
Zyk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RiX2k4cihtYXNr
Lm1fdmFsdWUsIHJlZyk7Ci0gICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZD
b25kaXRpb24oY29uZCkpKTsKLSAgICB9Ci0KICAgICBKdW1wIGJyYW5jaFRlc3Q4KFJlc3VsdENv
bmRpdGlvbiBjb25kLCBBZGRyZXNzIGFkZHJlc3MsIFRydXN0ZWRJbW0zMiBtYXNrID0gVHJ1c3Rl
ZEltbTMyKC0xKSkKICAgICB7CiAgICAgICAgIC8vIEJ5dGUgaW4gVHJ1c3RlZEltbTMyIGlzIG5v
dCB3ZWxsIGRlZmluZWQsIHNvIGJlIGEgbGl0dGxlIHBlcm1pc2l2ZSBoZXJlLCBidXQgZG9uJ3Qg
YWNjZXB0IG5vbnNlbnNlIHZhbHVlcy4KQEAgLTExNjMsOCArMTE1Miw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGNvbXBhcmUzMihSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVm
dCwgUmVnaXN0ZXJJRCByaWdodCwgUmVnaXN0ZXJJRCBkZXN0KQogICAgIHsKICAgICAgICAgbV9h
c3NlbWJsZXIuY21wbF9ycihyaWdodCwgbGVmdCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnNldEND
X3IoeDg2Q29uZGl0aW9uKGNvbmQpLCBkZXN0KTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92emJs
X3JyKGRlc3QsIGRlc3QpOworICAgICAgICBzZXQzMih4ODZDb25kaXRpb24oY29uZCksIGRlc3Qp
OwogICAgIH0KIAogICAgIHZvaWQgY29tcGFyZTMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwg
UmVnaXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKQEAg
LTExNzMsMTIgKzExNjEsMTEgQEAgcHVibGljOgogICAgICAgICAgICAgbV9hc3NlbWJsZXIudGVz
dGxfcnIobGVmdCwgbGVmdCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmNtcGxfaXIocmlnaHQubV92YWx1ZSwgbGVmdCk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnNldEND
X3IoeDg2Q29uZGl0aW9uKGNvbmQpLCBkZXN0KTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92emJs
X3JyKGRlc3QsIGRlc3QpOworICAgICAgICBzZXQzMih4ODZDb25kaXRpb24oY29uZCksIGRlc3Qp
OwogICAgIH0KIAogICAgIC8vIEZJWE1FOgotICAgIC8vIFRoZSBtYXNrIHNob3VsZCBiZSBvcHRp
b25hbC4uLiBwYWVyaGFwcyB0aGUgYXJndW1lbnQgb3JkZXIgc2hvdWxkIGJlCisgICAgLy8gVGhl
IG1hc2sgc2hvdWxkIGJlIG9wdGlvbmFsLi4uIHBlcmhhcHMgdGhlIGFyZ3VtZW50IG9yZGVyIHNo
b3VsZCBiZQogICAgIC8vIGRlc3Qtc3JjLCBvcGVyYXRpb25zIGFsd2F5cyBoYXZlIGEgZGVzdD8g
Li4uIHBvc3NpYmx5IG5vdCB0cnVlLCBjb25zaWRlcmluZwogICAgIC8vIGFzbSBvcHMgbGlrZSB0
ZXN0LCBvciBwc2V1ZG8gb3BzIGxpa2UgcG9wKCkuCiAKQEAgLTExODgsOCArMTE3NSw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLmNtcGJfaW0oMCwgYWRkcmVzcy5vZmZzZXQs
IGFkZHJlc3MuYmFzZSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRl
c3RiX2ltKG1hc2subV92YWx1ZSwgYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7Ci0gICAg
ICAgIG1fYXNzZW1ibGVyLnNldENDX3IoeDg2Q29uZGl0aW9uKGNvbmQpLCBkZXN0KTsKLSAgICAg
ICAgbV9hc3NlbWJsZXIubW92emJsX3JyKGRlc3QsIGRlc3QpOworICAgICAgICBzZXQzMih4ODZD
b25kaXRpb24oY29uZCksIGRlc3QpOwogICAgIH0KIAogICAgIHZvaWQgdGVzdDMyKFJlc3VsdENv
bmRpdGlvbiBjb25kLCBBZGRyZXNzIGFkZHJlc3MsIFRydXN0ZWRJbW0zMiBtYXNrLCBSZWdpc3Rl
cklEIGRlc3QpCkBAIC0xMTk4LDggKzExODQsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX2Fz
c2VtYmxlci5jbXBsX2ltKDAsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UpOwogICAgICAg
ICBlbHNlCiAgICAgICAgICAgICBtX2Fzc2VtYmxlci50ZXN0bF9pMzJtKG1hc2subV92YWx1ZSwg
YWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7Ci0gICAgICAgIG1fYXNzZW1ibGVyLnNldEND
X3IoeDg2Q29uZGl0aW9uKGNvbmQpLCBkZXN0KTsKLSAgICAgICAgbV9hc3NlbWJsZXIubW92emJs
X3JyKGRlc3QsIGRlc3QpOworICAgICAgICBzZXQzMih4ODZDb25kaXRpb24oY29uZCksIGRlc3Qp
OwogICAgIH0KIAogICAgIC8vIEludmVydCBhIHJlbGF0aW9uYWwgY29uZGl0aW9uLCBlLmcuID09
IGJlY29tZXMgIT0sIDwgYmVjb21lcyA+PSwgZXRjLgpAQCAtMTIyNCw2ICsxMjA5LDIzIEBAIHBy
b3RlY3RlZDoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFg4NkFzc2VtYmxlcjo6Q29uZGl0
aW9uPihjb25kKTsKICAgICB9CiAKKyAgICB2b2lkIHNldDMyKFg4NkFzc2VtYmxlcjo6Q29uZGl0
aW9uIGNvbmQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisjaWYgQ1BVKFg4NikKKyAgICAgICAg
Ly8gT24gMzItYml0IHg4NiB3ZSBjYW4gb25seSBzZXQgdGhlIGZpcnN0IDQgcmVnaXN0ZXJzOwor
ICAgICAgICAvLyBlc3AuLmVkaSBhcmUgbWFwcGVkIHRvIHRoZSAnaCcgcmVnaXN0ZXJzIQorICAg
ICAgICBpZiAoZGVzdCA+PSA0KSB7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci54Y2hnbF9ycihk
ZXN0LCBYODZSZWdpc3RlcnM6OmVheCk7CisgICAgICAgICAgICBtX2Fzc2VtYmxlci5zZXRDQ19y
KGNvbmQsIFg4NlJlZ2lzdGVyczo6ZWF4KTsKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnpi
bF9ycihYODZSZWdpc3RlcnM6OmVheCwgWDg2UmVnaXN0ZXJzOjplYXgpOworICAgICAgICAgICAg
bV9hc3NlbWJsZXIueGNoZ2xfcnIoZGVzdCwgWDg2UmVnaXN0ZXJzOjplYXgpOworICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisjZW5kaWYKKyAgICAgICAgbV9hc3NlbWJsZXIuc2V0Q0Nf
cihjb25kLCBkZXN0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIubW92emJsX3JyKGRlc3QsIGRlc3Qp
OworICAgIH0KKwogcHJpdmF0ZToKICAgICAvLyBPbmx5IE1hY3JvQXNzZW1ibGVyWDg2IHNob3Vs
ZCBiZSB1c2luZyB0aGUgZm9sbG93aW5nIG1ldGhvZDsgU1NFMiBpcyBhbHdheXMgYXZhaWxhYmxl
IG9uCiAgICAgLy8geDg2XzY0LCBhbmQgY2xpZW50cyAmIHN1YmNsYXNzZXMgb2YgTWFjcm9Bc3Nl
bWJsZXIgc2hvdWxkIGJlIHVzaW5nICdzdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKScuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3IzMl82NC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2VuZXJhdG9y
MzJfNjQuY3BwCShyZXZpc2lvbiA5NzI5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA2Miw3ICsx
MDYyLDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAg
ICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0aW9u
LCByZXN1bHRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2FkR1BSLCBhcmcyVGFnR1BSLCBhcmcy
UGF5bG9hZEdQUik7CiAKLSAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4KGNhbGxS
ZXN1bHRDb25kaXRpb24sIHJlc3VsdEdQUiksIHRha2VuKTsKKyAgICAgICAgYWRkQnJhbmNoKG1f
aml0LmJyYW5jaFRlc3QzMihjYWxsUmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtlbik7
CiAgICAgfSBlbHNlIHsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKICAgICAg
ICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKQEAgLTEwODYsNyArMTA4Niw3IEBA
IHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQZWUKICAgICAgICAgICAgIGNh
bGxPcGVyYXRpb24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdEdQUiwgYXJnMVRhZ0dQUiwgYXJnMVBh
eWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFyZzJQYXlsb2FkR1BSKTsKICAgICAgICAgICAgIHNpbGVu
dEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgCi0gICAgICAgICAgICBhZGRC
cmFuY2gobV9qaXQuYnJhbmNoVGVzdDgoY2FsbFJlc3VsdENvbmRpdGlvbiwgcmVzdWx0R1BSKSwg
dGFrZW4pOworICAgICAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3QzMihjYWxsUmVz
dWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtlbik7CiAgICAgICAgIH0KICAgICB9CiAKQEAg
LTExOTEsNyArMTE5MSw3IEBAIHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6bm9uU3BlY3VsYXRpdmVQ
ZWUKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsLCBy
ZXN1bHRQYXlsb2FkR1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwgYXJnMlRhZ0dQUiwg
YXJnMlBheWxvYWRHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFBh
eWxvYWRHUFIpOwogICAgICAgICAKLSAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4
KGludmVydCA/IEpJVENvbXBpbGVyOjpOb25aZXJvIDogSklUQ29tcGlsZXI6Olplcm8sIHJlc3Vs
dFBheWxvYWRHUFIpLCB0YWtlbik7CisgICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0
MzIoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Ok5vblplcm8gOiBKSVRDb21waWxlcjo6WmVybywgcmVz
dWx0UGF5bG9hZEdQUiksIHRha2VuKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBGSVhNRTog
QWRkIGZhc3QgcGF0aHMgZm9yIHR3b0NlbGxzLCBudW1iZXIgZXRjLgogCkBAIC0xMTk5LDcgKzEx
OTksNyBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1bGF0aXZlUGVlCiAgICAgICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxLCByZXN1bHRQYXlsb2FkR1BS
LCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwgYXJnMlRhZ0dQUiwgYXJnMlBheWxvYWRHUFIp
OwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFBheWxvYWRHUFIpOwogICAg
ICAgICAKLSAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4KGludmVydCA/IEpJVENv
bXBpbGVyOjpaZXJvIDogSklUQ29tcGlsZXI6Ok5vblplcm8sIHJlc3VsdFBheWxvYWRHUFIpLCB0
YWtlbik7CisgICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0MzIoaW52ZXJ0ID8gSklU
Q29tcGlsZXI6Olplcm8gOiBKSVRDb21waWxlcjo6Tm9uWmVybywgcmVzdWx0UGF5bG9hZEdQUiks
IHRha2VuKTsKICAgICB9CiAgICAgCiAgICAgaWYgKG5vdFRha2VuICE9IChtX2Jsb2NrICsgMSkp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb2RlR2Vu
ZXJhdG9yNjQuY3BwCShyZXZpc2lvbiA5NzI5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHSklUQ29kZUdlbmVyYXRvcjY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAyMCw3ICsx
MDIwLDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAg
ICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0aW9u
LCByZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOwogCi0gICAgICAgIGFkZEJyYW5jaChtX2pp
dC5icmFuY2hUZXN0OChjYWxsUmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtlbik7Cisg
ICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0MzIoY2FsbFJlc3VsdENvbmRpdGlvbiwg
cmVzdWx0R1BSKSwgdGFrZW4pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBy
ZXN1bHQodGhpcywgYXJnMik7CiAgICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3By
KCk7CkBAIC0xMDQ0LDcgKzEwNDQsNyBAQCB2b2lkIEpJVENvZGVHZW5lcmF0b3I6Om5vblNwZWN1
bGF0aXZlUGVlCiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0aW9uLCByZXN1
bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOwogICAgICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lz
dGVycyhyZXN1bHRHUFIpOwogICAgICAgICAKLSAgICAgICAgICAgIGFkZEJyYW5jaChtX2ppdC5i
cmFuY2hUZXN0OChjYWxsUmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIpLCB0YWtlbik7CisgICAg
ICAgICAgICBhZGRCcmFuY2gobV9qaXQuYnJhbmNoVGVzdDMyKGNhbGxSZXN1bHRDb25kaXRpb24s
IHJlc3VsdEdQUiksIHRha2VuKTsKICAgICAgICAgfQogICAgIH0KIApAQCAtMTE0Miw3ICsxMTQy
LDcgQEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAgICBj
YWxsT3BlcmF0aW9uKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcUNlbGwsIHJlc3VsdEdQUiwgYXJn
MUdQUiwgYXJnMkdQUik7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BS
KTsKICAgICAgICAgCi0gICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0OChpbnZlcnQg
PyBKSVRDb21waWxlcjo6Tm9uWmVybyA6IEpJVENvbXBpbGVyOjpaZXJvLCByZXN1bHRHUFIpLCB0
YWtlbik7CisgICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0MzIoaW52ZXJ0ID8gSklU
Q29tcGlsZXI6Ok5vblplcm8gOiBKSVRDb21waWxlcjo6WmVybywgcmVzdWx0R1BSKSwgdGFrZW4p
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1faml0Lm9yUHRyKGFyZzFHUFIsIGFyZzJHUFIsIHJl
c3VsdEdQUik7CiAgICAgICAgIApAQCAtMTE2Miw3ICsxMTYyLDcgQEAgdm9pZCBKSVRDb2RlR2Vu
ZXJhdG9yOjpub25TcGVjdWxhdGl2ZVBlZQogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bkNvbXBhcmVTdHJpY3RFcSwgcmVzdWx0R1BSLCBhcmcxR1BSLCBhcmcyR1BSKTsKICAgICAgICAg
c2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAKLSAgICAgICAgYWRk
QnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4KGludmVydCA/IEpJVENvbXBpbGVyOjpaZXJvIDogSklU
Q29tcGlsZXI6Ok5vblplcm8sIHJlc3VsdEdQUiksIHRha2VuKTsKKyAgICAgICAgYWRkQnJhbmNo
KG1faml0LmJyYW5jaFRlc3QzMihpbnZlcnQgPyBKSVRDb21waWxlcjo6WmVybyA6IEpJVENvbXBp
bGVyOjpOb25aZXJvLCByZXN1bHRHUFIpLCB0YWtlbik7CiAgICAgfQogICAgIAogICAgIGlmIChu
b3RUYWtlbiAhPSAobV9ibG9jayArIDEpKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiA5NzI5NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY0NCw3ICs2NDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpl
bWl0QnJhbmNoKE5vZGUmIG5vCiAgICAgICAgIGNhbGxPcGVyYXRpb24oZGZnQ29udmVydEpTVmFs
dWVUb0Jvb2xlYW4sIHJlc3VsdEdQUiwgdmFsdWVUYWdHUFIsIHZhbHVlUGF5bG9hZEdQUik7CiAg
ICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAKLSAgICAgICAg
YWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4KEpJVENvbXBpbGVyOjpOb25aZXJvLCByZXN1bHRH
UFIpLCB0YWtlbik7CisgICAgICAgIGFkZEJyYW5jaChtX2ppdC5icmFuY2hUZXN0MzIoSklUQ29t
cGlsZXI6Ok5vblplcm8sIHJlc3VsdEdQUiksIHRha2VuKTsKICAgICAgICAgaWYgKG5vdFRha2Vu
ICE9IChtX2Jsb2NrICsgMSkpCiAgICAgICAgICAgICBhZGRCcmFuY2gobV9qaXQuanVtcCgpLCBu
b3RUYWtlbik7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDk3Mjk3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NzczLDcgKzc3Myw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRCcmFuY2goTm9kZSYgbm8K
ICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24oZGZnQ29udmVydEpTVmFsdWVUb0Jvb2xlYW4sIHJl
c3VsdEdQUiwgdmFsdWVHUFIpOwogICAgICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhy
ZXN1bHRHUFIpOwogICAgIAotICAgICAgICAgICAgYWRkQnJhbmNoKG1faml0LmJyYW5jaFRlc3Q4
KE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCByZXN1bHRHUFIpLCB0YWtlbik7CisgICAgICAgICAg
ICBhZGRCcmFuY2gobV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBy
ZXN1bHRHUFIpLCB0YWtlbik7CiAgICAgICAgICAgICBpZiAobm90VGFrZW4gIT0gKG1fYmxvY2sg
KyAxKSkKICAgICAgICAgICAgICAgICBhZGRCcmFuY2gobV9qaXQuanVtcCgpLCBub3RUYWtlbik7
CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="108376"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>