<?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>83958</bug_id>
          
          <creation_ts>2012-04-13 16:33:10 -0700</creation_ts>
          <short_desc>Don&apos;t rely on fixed offsets to patch method checks</short_desc>
          <delta_ts>2012-04-13 16:44:42 -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>602505</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-13 16:33:10 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602510</commentid>
    <comment_count>1</comment_count>
      <attachid>137177</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-13 16:36:46 -0700</bug_when>
    <thetext>Created attachment 137177
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>602519</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-13 16:44:42 -0700</bug_when>
    <thetext>Fixed in r114183</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137177</attachid>
            <date>2012-04-13 16:36:46 -0700</date>
            <delta_ts>2012-04-13 16:40:20 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>83958.patch</filename>
            <type>text/plain</type>
            <size>14214</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE0MTgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBA
CisyMDEyLTA0LTEzICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBEb24ndCByZWx5IG9uIGZpeGVkIG9mZnNldHMgdG8gcGF0Y2ggbWV0aG9kIGNo
ZWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM5
NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJ5
dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmg6CisgICAgICAgICAgICAtIEFkZCBmaWVsZHMgZm9y
IHRoZSBtZXRob2QgY2hlY2sgaW5mby4KKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAg
KEpTQzo6UHJvcGVydHlTdHViQ29tcGlsYXRpb25JbmZvOjpjb3B5VG9TdHViSW5mbyk6CisgICAg
ICAgICAgICAtIFN0b3JlIHRoZSBvZmZzZXRzIG9uIHRoZSBzdHViIGluZm8sIGluc3RlYWQgb2Yg
YXNzZXJ0aW5nLgorICAgICAgICAqIGppdC9KSVQuaDoKKyAgICAgICAgICAgIC0gRGVsZXRlIGFs
bCB0aGUgbWV0aG9kIGNoZWNrIHJlbGF0ZWQgb2Zmc2V0cy4KKyAgICAgICAgKiBqaXQvSklUUHJv
cGVydHlBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnBhdGNoTWV0aG9kQ2FsbFByb3Rv
KToKKyAgICAgICAgICAgIC0gVXNlIHRoZSBvZmZzZXQgZnJvbSB0aGUgc3R1YkluZm8uCisgICAg
ICAgICogaml0L0pJVFN0dWJzLmNwcDoKKyAgICAgICAgKEpTQzo6REVGSU5FX1NUVUJfRlVOQ1RJ
T04pOgorICAgICAgICAgICAgLSBQYXNzIHRoZSBzdHViSW5mbyB0byBwYXRjaE1ldGhvZENhbGxQ
cm90by4KKwogMjAxMi0wNC0xMyAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG9uJ3QgcmVseSBvbiBmaXhlZCBvZmZzZXRzIHRvIHBhdGNoIGdl
dF9ieV9pZC9wdXRfYnlfaWQKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9T
dHJ1Y3R1cmVTdHViSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oCShyZXZpc2lvbiAxMTQxNTcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkod29ya2luZyBjb3B5
KQpAQCAtMjM1LDcgKzIzNSw5IEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgICAgICAg
ICAgICAgICAgIH0gcHV0OwogICAgICAgICAgICAgICAgIH0gdTsKLQorICAgICAgICAgICAgICAg
IGludDE2X3QgbWV0aG9kQ2hlY2tQcm90b09iajsKKyAgICAgICAgICAgICAgICBpbnQxNl90IG1l
dGhvZENoZWNrUHJvdG9TdHJ1Y3R1cmVUb0NvbXBhcmU7CisgICAgICAgICAgICAgICAgaW50MTZf
dCBtZXRob2RDaGVja1B1dEZ1bmN0aW9uOwogICAgICAgICAgICAgfSBiYXNlbGluZTsKICAgICAg
ICAgfSBwYXRjaDsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkocmV2aXNpb24g
MTE0MTU3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MjUsMTEgKzUyNSwxMyBAQCBBTFdBWVNfSU5MSU5FIHZvaWQgUHJvcGVydHlTdHVi
Q29tcGlsYXRpCiAgICAgaW5mby5ob3RQYXRoQmVnaW4gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Yo
aG90UGF0aEJlZ2luKTsKIAogICAgIHN3aXRjaCAobV90eXBlKSB7Ci0gICAgY2FzZSBNZXRob2RD
aGVjazoKLSAgICAgICAgQVNTRVJUX0pJVF9PRkZTRVQoTWFjcm9Bc3NlbWJsZXI6OmRpZmZlcmVu
Y2VCZXR3ZWVuKG1ldGhvZENoZWNrU3RydWN0dXJlVG9Db21wYXJlLCBtZXRob2RDaGVja1Byb3Rv
T2JqKSwgSklUOjpwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9PYmopOwotICAgICAgICBBU1NF
UlRfSklUX09GRlNFVChNYWNyb0Fzc2VtYmxlcjo6ZGlmZmVyZW5jZUJldHdlZW4obWV0aG9kQ2hl
Y2tTdHJ1Y3R1cmVUb0NvbXBhcmUsIG1ldGhvZENoZWNrUHJvdG9TdHJ1Y3R1cmVUb0NvbXBhcmUp
LCBKSVQ6OnBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b1N0cnVjdCk7Ci0gICAgICAgIEFTU0VS
VF9KSVRfT0ZGU0VUKE1hY3JvQXNzZW1ibGVyOjpkaWZmZXJlbmNlQmV0d2VlbihtZXRob2RDaGVj
a1N0cnVjdHVyZVRvQ29tcGFyZSwgbWV0aG9kQ2hlY2tQdXRGdW5jdGlvbiksIEpJVDo6cGF0Y2hP
ZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uKTsKKyAgICBjYXNlIE1ldGhvZENoZWNrOiB7Cisg
ICAgICAgIENvZGVMb2NhdGlvbkRhdGFMYWJlbFB0ciBzdHJ1Y3R1cmVUb0NvbXBhcmVMb2NhdGlv
biA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihtZXRob2RDaGVja1N0cnVjdHVyZVRvQ29tcGFyZSk7
CisgICAgICAgIGluZm8ucGF0Y2guYmFzZWxpbmUubWV0aG9kQ2hlY2tQcm90b09iaiA9IE1hY3Jv
QXNzZW1ibGVyOjpkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoc3RydWN0dXJlVG9Db21wYXJlTG9j
YXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtZXRob2RDaGVja1Byb3RvT2JqKSk7CisgICAg
ICAgIGluZm8ucGF0Y2guYmFzZWxpbmUubWV0aG9kQ2hlY2tQcm90b1N0cnVjdHVyZVRvQ29tcGFy
ZSA9IE1hY3JvQXNzZW1ibGVyOjpkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoc3RydWN0dXJlVG9D
b21wYXJlTG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtZXRob2RDaGVja1Byb3RvU3Ry
dWN0dXJlVG9Db21wYXJlKSk7CisgICAgICAgIGluZm8ucGF0Y2guYmFzZWxpbmUubWV0aG9kQ2hl
Y2tQdXRGdW5jdGlvbiA9IE1hY3JvQXNzZW1ibGVyOjpkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIo
c3RydWN0dXJlVG9Db21wYXJlTG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtZXRob2RD
aGVja1B1dEZ1bmN0aW9uKSk7CiAgICAgICAgIC8vIE5vIGJyZWFrIC0gZmFsbCB0aHJvdWdoIHRv
IEdldEJ5SWQuCisgICAgfQogICAgIGNhc2UgR2V0QnlJZDogewogICAgICAgICBDb2RlTG9jYXRp
b25MYWJlbCBob3RQYXRoQmVnaW5Mb2NhdGlvbiA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihob3RQ
YXRoQmVnaW4pOwogICAgICAgICBpbmZvLnBhdGNoLmJhc2VsaW5lLnUuZ2V0LnN0cnVjdHVyZVRv
Q29tcGFyZSA9IE1hY3JvQXNzZW1ibGVyOjpkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoaG90UGF0
aEJlZ2luTG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihnZXRTdHJ1Y3R1cmVUb0NvbXBh
cmUpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkocmV2aXNpb24gMTE0MTU3KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMzYwLDcg
KzM2MCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgdm9pZCByZXNldFBhdGNo
UHV0QnlJZChSZXBhdGNoQnVmZmVyJiwgU3RydWN0dXJlU3R1YkluZm8qKTsKICAgICAgICAgc3Rh
dGljIHZvaWQgcGF0Y2hHZXRCeUlkU2VsZihDb2RlQmxvY2sqIGNvZGVibG9jaywgU3RydWN0dXJl
U3R1YkluZm8qLCBTdHJ1Y3R1cmUqLCBzaXplX3QgY2FjaGVkT2Zmc2V0LCBSZXR1cm5BZGRyZXNz
UHRyIHJldHVybkFkZHJlc3MpOwogICAgICAgICBzdGF0aWMgdm9pZCBwYXRjaFB1dEJ5SWRSZXBs
YWNlKENvZGVCbG9jayogY29kZWJsb2NrLCBTdHJ1Y3R1cmVTdHViSW5mbyosIFN0cnVjdHVyZSos
IHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVybkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcywgYm9v
bCBkaXJlY3QpOwotICAgICAgICBzdGF0aWMgdm9pZCBwYXRjaE1ldGhvZENhbGxQcm90byhKU0ds
b2JhbERhdGEmLCBDb2RlQmxvY2sqIGNvZGVibG9jaywgTWV0aG9kQ2FsbExpbmtJbmZvJiwgSlNP
YmplY3QqLCBTdHJ1Y3R1cmUqLCBKU09iamVjdCosIFJldHVybkFkZHJlc3NQdHIpOworICAgICAg
ICBzdGF0aWMgdm9pZCBwYXRjaE1ldGhvZENhbGxQcm90byhKU0dsb2JhbERhdGEmLCBDb2RlQmxv
Y2sqIGNvZGVibG9jaywgTWV0aG9kQ2FsbExpbmtJbmZvJiwgU3RydWN0dXJlU3R1YkluZm8mLCBK
U09iamVjdCosIFN0cnVjdHVyZSosIEpTT2JqZWN0KiwgUmV0dXJuQWRkcmVzc1B0cik7CiAKICAg
ICAgICAgc3RhdGljIHZvaWQgY29tcGlsZVBhdGNoR2V0QXJyYXlMZW5ndGgoSlNHbG9iYWxEYXRh
KiBnbG9iYWxEYXRhLCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgUmV0dXJuQWRkcmVzc1B0ciByZXR1
cm5BZGRyZXNzKQogICAgICAgICB7CkBAIC00ODEsMTcgKzQ4MSw5IEBAIG5hbWVzcGFjZSBKU0Mg
ewogCiAjaWYgQ1BVKFg4NikKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE9w
Q2FsbENvbXBhcmVUb0p1bXAgPSA2OwotCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hP
ZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTE7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQg
cGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMTg7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gMjk7CiAjZWxpZiBD
UFUoQVJNX1RSQURJVElPTkFMKQogICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0
T3BDYWxsQ29tcGFyZVRvSnVtcCA9IDEyOwogCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0
Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTI7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMjA7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gMzI7Ci0KICAg
ICAgICAgLy8gc2VxdWVuY2VPcENhbGwKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBzZXF1ZW5j
ZU9wQ2FsbEluc3RydWN0aW9uU3BhY2UgPSAxMjsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBz
ZXF1ZW5jZU9wQ2FsbENvbnN0YW50U3BhY2UgPSAyOwpAQCAtNTA5LDM3ICs1MDEsMTEgQEAgbmFt
ZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VQdXRCeUlkQ29u
c3RhbnRTcGFjZSA9IDQ7CiAjZWxpZiBDUFUoQVJNX1RIVU1CMikKICAgICAgICAgc3RhdGljIGNv
bnN0IGludCBwYXRjaE9mZnNldE9wQ2FsbENvbXBhcmVUb0p1bXAgPSAxNjsKLQotICAgICAgICBz
dGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b09iaiA9IDI0OwotICAg
ICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQcm90b1N0cnVjdCA9
IDM0OwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQdXRG
dW5jdGlvbiA9IDU4OwotCi0gICAgICAgIC8vIHNlcXVlbmNlT3BDYWxsCi0gICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgc2VxdWVuY2VPcENhbGxJbnN0cnVjdGlvblNwYWNlID0gMTI7Ci0gICAgICAg
IHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VPcENhbGxDb25zdGFudFNwYWNlID0gMjsKLSAgICAg
ICAgLy8gc2VxdWVuY2VNZXRob2RDaGVjawotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNlcXVl
bmNlTWV0aG9kQ2hlY2tJbnN0cnVjdGlvblNwYWNlID0gNDA7Ci0gICAgICAgIHN0YXRpYyBjb25z
dCBpbnQgc2VxdWVuY2VNZXRob2RDaGVja0NvbnN0YW50U3BhY2UgPSA2OwotICAgICAgICAvLyBz
ZXF1ZW5jZUdldEJ5SWRIb3RQYXRoCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VH
ZXRCeUlkSG90UGF0aEluc3RydWN0aW9uU3BhY2UgPSAzNjsKLSAgICAgICAgc3RhdGljIGNvbnN0
IGludCBzZXF1ZW5jZUdldEJ5SWRIb3RQYXRoQ29uc3RhbnRTcGFjZSA9IDQ7Ci0gICAgICAgIC8v
IHNlcXVlbmNlR2V0QnlJZFNsb3dDYXNlCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVu
Y2VHZXRCeUlkU2xvd0Nhc2VJbnN0cnVjdGlvblNwYWNlID0gNDA7Ci0gICAgICAgIHN0YXRpYyBj
b25zdCBpbnQgc2VxdWVuY2VHZXRCeUlkU2xvd0Nhc2VDb25zdGFudFNwYWNlID0gMjsKLSAgICAg
ICAgLy8gc2VxdWVuY2VQdXRCeUlkCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VQ
dXRCeUlkSW5zdHJ1Y3Rpb25TcGFjZSA9IDM2OwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHNl
cXVlbmNlUHV0QnlJZENvbnN0YW50U3BhY2UgPSA0OwogI2VsaWYgQ1BVKE1JUFMpCiAjaWYgV1RG
X01JUFNfSVNBKDEpCiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRPcENhbGxD
b21wYXJlVG9KdW1wID0gMzI7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRN
ZXRob2RDaGVja1Byb3RvT2JqID0gMzI7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hP
ZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gNTY7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gODg7CiAjZWxzZSAvLyBXVEZf
TUlQU19JU0EoMSkKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE9wQ2FsbENv
bXBhcmVUb0p1bXAgPSAzMjsKLSAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNldE1l
dGhvZENoZWNrUHJvdG9PYmogPSAzMjsKLSAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9m
ZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1Y3QgPSA1MjsKLSAgICAgICAgc3RhdGljIGNvbnN0IGlu
dCBwYXRjaE9mZnNldE1ldGhvZENoZWNrUHV0RnVuY3Rpb24gPSA4NDsKICNlbmRpZgogI2VsaWYg
Q1BVKFNINCkKICAgICAgICAgLy8gc2VxdWVuY2VPcENhbGwKQEAgLTU1OSwxMCArNTI1LDYgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgc2VxdWVuY2VQdXRCeUlk
Q29uc3RhbnRTcGFjZSA9IDU7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBwYXRjaE9mZnNl
dE9wQ2FsbENvbXBhcmVUb0p1bXAgPSA0OwotCi0gICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0
Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvT2JqID0gMTI7Ci0gICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1Byb3RvU3RydWN0ID0gMjA7Ci0gICAgICAgIHN0YXRp
YyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRNZXRob2RDaGVja1B1dEZ1bmN0aW9uID0gMzI7CiAjZWxz
ZQogI2Vycm9yICJKU1ZBTFVFMzJfNjQgbm90IHN1cHBvcnRlZCBvbiB0aGlzIHBsYXRmb3JtLiIK
ICNlbmRpZgpAQCAtNjA5LDEwICs1NzEsNiBAQCBuYW1lc3BhY2UgSlNDIHsKIAogI2lmIENQVShY
ODZfNjQpCiAgICAgICAgIHN0YXRpYyBjb25zdCBpbnQgcGF0Y2hPZmZzZXRPcENhbGxDb21wYXJl
VG9KdW1wID0gOTsKLQotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0TWV0aG9k
Q2hlY2tQcm90b09iaiA9IDIwOwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBhdGNoT2Zmc2V0
TWV0aG9kQ2hlY2tQcm90b1N0cnVjdCA9IDMwOwotICAgICAgICBzdGF0aWMgY29uc3QgaW50IHBh
dGNoT2Zmc2V0TWV0aG9kQ2hlY2tQdXRGdW5jdGlvbiA9IDUwOwogI2VuZGlmCiAKICNlbmRpZiAv
LyBVU0UoSlNWQUxVRTMyXzY0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQ
cm9wZXJ0eUFjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHJldmlzaW9uIDExNDE1NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTE5LDcgKzExMTksNyBAQCB2b2lkIEpJVDo6dGVzdFByb3RvdHlwZShKU1ZhbHVlIHByb3RvdHlw
CiAgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVn
VDMsIEpTQ2VsbDo6c3RydWN0dXJlT2Zmc2V0KCkpLCBUcnVzdGVkSW1tUHRyKHByb3RvdHlwZS5h
c0NlbGwoKS0+c3RydWN0dXJlKCkpKSk7CiB9CiAKLXZvaWQgSklUOjpwYXRjaE1ldGhvZENhbGxQ
cm90byhKU0dsb2JhbERhdGEmIGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJsb2NrLCBNZXRo
b2RDYWxsTGlua0luZm8mIG1ldGhvZENhbGxMaW5rSW5mbywgSlNPYmplY3QqIGNhbGxlZSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIEpTT2JqZWN0KiBwcm90bywgUmV0dXJuQWRkcmVzc1B0ciByZXR1
cm5BZGRyZXNzKQordm9pZCBKSVQ6OnBhdGNoTWV0aG9kQ2FsbFByb3RvKEpTR2xvYmFsRGF0YSYg
Z2xvYmFsRGF0YSwgQ29kZUJsb2NrKiBjb2RlQmxvY2ssIE1ldGhvZENhbGxMaW5rSW5mbyYgbWV0
aG9kQ2FsbExpbmtJbmZvLCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8sIEpTT2JqZWN0KiBj
YWxsZWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU09iamVjdCogcHJvdG8sIFJldHVybkFkZHJl
c3NQdHIgcmV0dXJuQWRkcmVzcykKIHsKICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIo
Y29kZUJsb2NrKTsKICAgICAKQEAgLTExMjcsOSArMTEyNyw5IEBAIHZvaWQgSklUOjpwYXRjaE1l
dGhvZENhbGxQcm90byhKU0dsb2JhbEQKICAgICBtZXRob2RDYWxsTGlua0luZm8uY2FjaGVkU3Ry
dWN0dXJlLnNldChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmVMb2NhdGlvbiwgY29kZUJsb2NrLT5vd25l
ckV4ZWN1dGFibGUoKSwgc3RydWN0dXJlKTsKICAgICAKICAgICBTdHJ1Y3R1cmUqIHByb3RvdHlw
ZVN0cnVjdHVyZSA9IHByb3RvLT5zdHJ1Y3R1cmUoKTsKLSAgICBtZXRob2RDYWxsTGlua0luZm8u
Y2FjaGVkUHJvdG90eXBlU3RydWN0dXJlLnNldChnbG9iYWxEYXRhLCBzdHJ1Y3R1cmVMb2NhdGlv
bi5kYXRhTGFiZWxQdHJBdE9mZnNldChwYXRjaE9mZnNldE1ldGhvZENoZWNrUHJvdG9TdHJ1Y3Qp
LCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBwcm90b3R5cGVTdHJ1Y3R1cmUpOwotICAg
IG1ldGhvZENhbGxMaW5rSW5mby5jYWNoZWRQcm90b3R5cGUuc2V0KGdsb2JhbERhdGEsIHN0cnVj
dHVyZUxvY2F0aW9uLmRhdGFMYWJlbFB0ckF0T2Zmc2V0KHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQ
cm90b09iaiksIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHByb3RvKTsKLSAgICBtZXRo
b2RDYWxsTGlua0luZm8uY2FjaGVkRnVuY3Rpb24uc2V0KGdsb2JhbERhdGEsIHN0cnVjdHVyZUxv
Y2F0aW9uLmRhdGFMYWJlbFB0ckF0T2Zmc2V0KHBhdGNoT2Zmc2V0TWV0aG9kQ2hlY2tQdXRGdW5j
dGlvbiksIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIGNhbGxlZSk7CisgICAgbWV0aG9k
Q2FsbExpbmtJbmZvLmNhY2hlZFByb3RvdHlwZVN0cnVjdHVyZS5zZXQoZ2xvYmFsRGF0YSwgc3Ry
dWN0dXJlTG9jYXRpb24uZGF0YUxhYmVsUHRyQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guYmFzZWxp
bmUubWV0aG9kQ2hlY2tQcm90b1N0cnVjdHVyZVRvQ29tcGFyZSksIGNvZGVCbG9jay0+b3duZXJF
eGVjdXRhYmxlKCksIHByb3RvdHlwZVN0cnVjdHVyZSk7CisgICAgbWV0aG9kQ2FsbExpbmtJbmZv
LmNhY2hlZFByb3RvdHlwZS5zZXQoZ2xvYmFsRGF0YSwgc3RydWN0dXJlTG9jYXRpb24uZGF0YUxh
YmVsUHRyQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guYmFzZWxpbmUubWV0aG9kQ2hlY2tQcm90b09i
aiksIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHByb3RvKTsKKyAgICBtZXRob2RDYWxs
TGlua0luZm8uY2FjaGVkRnVuY3Rpb24uc2V0KGdsb2JhbERhdGEsIHN0cnVjdHVyZUxvY2F0aW9u
LmRhdGFMYWJlbFB0ckF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmJhc2VsaW5lLm1ldGhvZENoZWNr
UHV0RnVuY3Rpb24pLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBjYWxsZWUpOwogICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rQ2FsbGVyVG9GdW5jdGlvbihyZXR1cm5BZGRyZXNzLCBGdW5j
dGlvblB0cihjdGlfb3BfZ2V0X2J5X2lkX21ldGhvZF9jaGVja191cGRhdGUpKTsKIH0KIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRTdHVicy5jcHAJKHJldmlzaW9uIDExNDAzNikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTE3LDYgKzE1MTcsNyBAQCBERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1
ZSwgb3BfCiAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IHN0YWNrRnJhbWUuY2FsbEZyYW1l
LT5jb2RlQmxvY2soKTsKICAgICBNZXRob2RDYWxsTGlua0luZm8mIG1ldGhvZENhbGxMaW5rSW5m
byA9IGNvZGVCbG9jay0+Z2V0TWV0aG9kQ2FsbExpbmtJbmZvKFNUVUJfUkVUVVJOX0FERFJFU1Mp
OworICAgIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbyA9IGNvZGVCbG9jay0+Z2V0U3R1Yklu
Zm8oU1RVQl9SRVRVUk5fQUREUkVTUyk7CiAKICAgICBpZiAoIW1ldGhvZENhbGxMaW5rSW5mby5z
ZWVuT25jZSgpKSB7CiAgICAgICAgIG1ldGhvZENhbGxMaW5rSW5mby5zZXRTZWVuKCk7CkBAIC0x
NTU1LDcgKzE1NTYsNyBAQCBERUZJTkVfU1RVQl9GVU5DVElPTihFbmNvZGVkSlNWYWx1ZSwgb3Bf
CiAKICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHRoZSBmdW5jdGlvbiBpcyBvbiB0aGUgb2Jq
ZWN0J3MgcHJvdG90eXBlLiAgUGF0Y2ggdXAgdGhlIGNvZGUgdG8gb3B0aW1pemUuCiAgICAgICAg
IGlmIChzbG90LnNsb3RCYXNlKCkgPT0gc3RydWN0dXJlLT5wcm90b3R5cGVGb3JMb29rdXAoY2Fs
bEZyYW1lKSkgewotICAgICAgICAgICAgSklUOjpwYXRjaE1ldGhvZENhbGxQcm90byhjYWxsRnJh
bWUtPmdsb2JhbERhdGEoKSwgY29kZUJsb2NrLCBtZXRob2RDYWxsTGlua0luZm8sIGNhbGxlZSwg
c3RydWN0dXJlLCBzbG90QmFzZU9iamVjdCwgU1RVQl9SRVRVUk5fQUREUkVTUyk7CisgICAgICAg
ICAgICBKSVQ6OnBhdGNoTWV0aG9kQ2FsbFByb3RvKGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLCBj
b2RlQmxvY2ssIG1ldGhvZENhbGxMaW5rSW5mbywgc3R1YkluZm8sIGNhbGxlZSwgc3RydWN0dXJl
LCBzbG90QmFzZU9iamVjdCwgU1RVQl9SRVRVUk5fQUREUkVTUyk7CiAgICAgICAgICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiAgICAgICAgIH0KIApAQCAtMTU2Niw3ICsxNTY3
LDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wXwogICAgICAgICAv
LyBmb3Igbm93LiAgRm9yIG5vdyBpdCBwZXJmb3JtcyBhIGNoZWNrIG9uIGEgc3BlY2lhbCBvYmpl
Y3Qgb24gdGhlIGdsb2JhbCBvYmplY3Qgb25seSB1c2VkIGZvciB0aGlzCiAgICAgICAgIC8vIHB1
cnBvc2UuICBUaGUgb2JqZWN0IGlzIGluIG5vIHdheSBleHBvc2VkLCBhbmQgYXMgc3VjaCB0aGUg
Y2hlY2sgd2lsbCBhbHdheXMgcGFzcy4KICAgICAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSA9PSBi
YXNlVmFsdWUpIHsKLSAgICAgICAgICAgIEpJVDo6cGF0Y2hNZXRob2RDYWxsUHJvdG8oY2FsbEZy
YW1lLT5nbG9iYWxEYXRhKCksIGNvZGVCbG9jaywgbWV0aG9kQ2FsbExpbmtJbmZvLCBjYWxsZWUs
IHN0cnVjdHVyZSwgY2FsbEZyYW1lLT5zY29wZUNoYWluKCktPmdsb2JhbE9iamVjdC0+bWV0aG9k
Q2FsbER1bW15KCksIFNUVUJfUkVUVVJOX0FERFJFU1MpOworICAgICAgICAgICAgSklUOjpwYXRj
aE1ldGhvZENhbGxQcm90byhjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgY29kZUJsb2NrLCBtZXRo
b2RDYWxsTGlua0luZm8sIHN0dWJJbmZvLCBjYWxsZWUsIHN0cnVjdHVyZSwgY2FsbEZyYW1lLT5z
Y29wZUNoYWluKCktPmdsb2JhbE9iamVjdC0+bWV0aG9kQ2FsbER1bW15KCksIFNUVUJfUkVUVVJO
X0FERFJFU1MpOwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMTU5MCw2ICsxNTkxLDcgQEAgREVGSU5FX1NUVUJfRlVOQ1RJ
T04oRW5jb2RlZEpTVmFsdWUsIG9wXwogCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBzdGFj
a0ZyYW1lLmNhbGxGcmFtZS0+Y29kZUJsb2NrKCk7CiAgICAgTWV0aG9kQ2FsbExpbmtJbmZvJiBt
ZXRob2RDYWxsTGlua0luZm8gPSBjb2RlQmxvY2stPmdldE1ldGhvZENhbGxMaW5rSW5mbyhTVFVC
X1JFVFVSTl9BRERSRVNTKTsKKyAgICBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8gPSBjb2Rl
QmxvY2stPmdldFN0dWJJbmZvKFNUVUJfUkVUVVJOX0FERFJFU1MpOwogCiAgICAgQVNTRVJUKG1l
dGhvZENhbGxMaW5rSW5mby5zZWVuT25jZSgpKTsKIApAQCAtMTY1MCw3ICsxNjUyLDcgQEAgREVG
SU5FX1NUVUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wXwogICAgIAogICAgIC8vIENoZWNr
IHRvIHNlZSBpZiB0aGUgZnVuY3Rpb24gaXMgb24gdGhlIG9iamVjdCdzIHByb3RvdHlwZS4gUGF0
Y2ggdXAgdGhlIGNvZGUgdG8gb3B0aW1pemUuCiAgICAgaWYgKHNsb3Quc2xvdEJhc2UoKSA9PSBw
cm90bykgewotICAgICAgICBKSVQ6OnBhdGNoTWV0aG9kQ2FsbFByb3RvKGNhbGxGcmFtZS0+Z2xv
YmFsRGF0YSgpLCBjb2RlQmxvY2ssIG1ldGhvZENhbGxMaW5rSW5mbywgY2FsbGVlLCBzdHJ1Y3R1
cmUsIHNsb3RCYXNlT2JqZWN0LCBTVFVCX1JFVFVSTl9BRERSRVNTKTsKKyAgICAgICAgSklUOjpw
YXRjaE1ldGhvZENhbGxQcm90byhjYWxsRnJhbWUtPmdsb2JhbERhdGEoKSwgY29kZUJsb2NrLCBt
ZXRob2RDYWxsTGlua0luZm8sIHN0dWJJbmZvLCBjYWxsZWUsIHN0cnVjdHVyZSwgc2xvdEJhc2VP
YmplY3QsIFNUVUJfUkVUVVJOX0FERFJFU1MpOwogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5j
b2RlKHJlc3VsdCk7CiAgICAgfQogICAgIApAQCAtMTY2MSw3ICsxNjYzLDcgQEAgREVGSU5FX1NU
VUJfRlVOQ1RJT04oRW5jb2RlZEpTVmFsdWUsIG9wXwogICAgIC8vIHVzZWZ1bC4gV2UgY291bGQg
dHJ5IHRvIG5vcCBpdCBvdXQgYWx0b2dldGhlciwgYnV0IHRoYXQncyBhIGxpdHRsZSBtZXNzeSwg
c28gbGV0cyBkbyBzb21ldGhpbmcgc2ltcGxlcgogICAgIC8vIGZvciBub3cuIEZvciBub3cgaXQg
cGVyZm9ybXMgYSBjaGVjayBvbiBhIHNwZWNpYWwgb2JqZWN0IG9uIHRoZSBnbG9iYWwgb2JqZWN0
IG9ubHkgdXNlZCBmb3IgdGhpcwogICAgIC8vIHB1cnBvc2UuIFRoZSBvYmplY3QgaXMgaW4gbm8g
d2F5IGV4cG9zZWQsIGFuZCBhcyBzdWNoIHRoZSBjaGVjayB3aWxsIGFsd2F5cyBwYXNzLgotICAg
IEpJVDo6cGF0Y2hNZXRob2RDYWxsUHJvdG8oY2FsbEZyYW1lLT5nbG9iYWxEYXRhKCksIGNvZGVC
bG9jaywgbWV0aG9kQ2FsbExpbmtJbmZvLCBjYWxsZWUsIHN0cnVjdHVyZSwgY2FsbEZyYW1lLT5z
Y29wZUNoYWluKCktPmdsb2JhbE9iamVjdC0+bWV0aG9kQ2FsbER1bW15KCksIFNUVUJfUkVUVVJO
X0FERFJFU1MpOworICAgIEpJVDo6cGF0Y2hNZXRob2RDYWxsUHJvdG8oY2FsbEZyYW1lLT5nbG9i
YWxEYXRhKCksIGNvZGVCbG9jaywgbWV0aG9kQ2FsbExpbmtJbmZvLCBzdHViSW5mbywgY2FsbGVl
LCBzdHJ1Y3R1cmUsIGNhbGxGcmFtZS0+c2NvcGVDaGFpbigpLT5nbG9iYWxPYmplY3QtPm1ldGhv
ZENhbGxEdW1teSgpLCBTVFVCX1JFVFVSTl9BRERSRVNTKTsKICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHJlc3VsdCk7CiB9CiAK
</data>
<flag name="review"
          id="142175"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>