<?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>168137</bug_id>
          
          <creation_ts>2017-02-10 11:12:47 -0800</creation_ts>
          <short_desc>StructureStubInfo::considerCaching() should write barrier its owner CodeBlock when buffering a new Structure.</short_desc>
          <delta_ts>2017-02-10 13:36:43 -0800</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 Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1275428</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-10 11:12:47 -0800</bug_when>
    <thetext>If we&apos;re adding a new structure to StructureStubInfo&apos;s bufferedStructures, we should write barrier the StubInfo&apos;s owner CodeBlock because that structure may be collected during the next GC.  Write barrier-ing the owner CodeBlock ensures that CodeBlock::finalizeBaselineJITInlineCaches() is called on it during the GC, which, in turn, gives the StructureStubInfo the opportunity to filter out the dead structure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275429</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-10 11:13:07 -0800</bug_when>
    <thetext>&lt;rdar://problem/28656664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275432</commentid>
    <comment_count>2</comment_count>
      <attachid>301182</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-10 11:24:10 -0800</bug_when>
    <thetext>Created attachment 301182
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275434</commentid>
    <comment_count>3</comment_count>
      <attachid>301182</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-02-10 11:26:00 -0800</bug_when>
    <thetext>Comment on attachment 301182
proposed patch.

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

Nice.

&gt; Source/JavaScriptCore/bytecode/StructureStubInfo.h:2
&gt; - * Copyright (C) 2008, 2012-2016 Apple Inc. All rights reserved.
&gt; + * Copyright (C) 2008, 2012-2017 Apple Inc. All rights reserved.

I think that we&apos;re supposed to write this as &quot;2008-2017&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275451</commentid>
    <comment_count>4</comment_count>
      <attachid>301188</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-10 11:48:13 -0800</bug_when>
    <thetext>Created attachment 301188
patch for landing + build fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1275532</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-02-10 13:36:43 -0800</bug_when>
    <thetext>Thanks for the review.  Landed in r212146: &lt;http://trac.webkit.org/r212146&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301182</attachid>
            <date>2017-02-10 11:24:10 -0800</date>
            <delta_ts>2017-02-10 11:48:13 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-168137.patch</filename>
            <type>text/plain</type>
            <size>9656</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyMTI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTAyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBT
dHJ1Y3R1cmVTdHViSW5mbzo6Y29uc2lkZXJDYWNoaW5nKCkgc2hvdWxkIHdyaXRlIGJhcnJpZXIg
aXRzIG93bmVyIENvZGVCbG9jayB3aGVuIGJ1ZmZlcmluZyBhIG5ldyBTdHJ1Y3R1cmUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxMzcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjU2NjY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIElmIHdlJ3JlIGFkZGluZyBhIG5ldyBzdHJ1Y3R1cmUgdG8g
U3RydWN0dXJlU3R1YkluZm8ncyBidWZmZXJlZFN0cnVjdHVyZXMsIHdlCisgICAgICAgIHNob3Vs
ZCB3cml0ZSBiYXJyaWVyIHRoZSBTdHViSW5mbydzIG93bmVyIENvZGVCbG9jayBiZWNhdXNlIHRo
YXQgc3RydWN0dXJlIG1heSBiZQorICAgICAgICBjb2xsZWN0ZWQgZHVyaW5nIHRoZSBuZXh0IEdD
LiAgV3JpdGUgYmFycmllci1pbmcgdGhlIG93bmVyIENvZGVCbG9jayBlbnN1cmVzIHRoYXQKKyAg
ICAgICAgQ29kZUJsb2NrOjpmaW5hbGl6ZUJhc2VsaW5lSklUSW5saW5lQ2FjaGVzKCkgaXMgY2Fs
bGVkIG9uIGl0IGR1cmluZyB0aGUgR0MsCisgICAgICAgIHdoaWNoLCBpbiB0dXJuLCBnaXZlcyB0
aGUgU3RydWN0dXJlU3R1YkluZm8gdGhlIG9wcG9ydHVuaXR5IHRvIGZpbHRlciBvdXQgdGhlCisg
ICAgICAgIGRlYWQgc3RydWN0dXJlLgorCisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1
YkluZm8uaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU3R1YkluZm86OmNvbnNpZGVyQ2FjaGlu
Zyk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorCiAyMDE3LTAyLTEwICBCcmlh
biBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gV2ViIEluc3BlY3Rv
cjogZ2VuZXJhdGUgYW4gTlNfRU5VTSBjb250YWluaW5nIHBsYXRmb3JtcyBzdXBwb3J0ZWQgYnkg
dGhlIHByb3RvY29sIGNvZGUgZ2VuZXJhdG9yCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkocmV2aXNpb24gMjEyMTI1KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAy
MDEyLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA4LCAyMDEyLTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC04NSw3ICs4NSw3IEBAIHB1YmxpYzoKICAgICAv
LyBUaGlzIHJldHVybnMgdHJ1ZSBpZiBpdCBoYXMgbWFya2VkIGV2ZXJ5dGhpbmcgdGhhdCBpdCB3
aWxsIGV2ZXIgbWFyay4KICAgICBib29sIHByb3BhZ2F0ZVRyYW5zaXRpb25zKFNsb3RWaXNpdG9y
Jik7CiAgICAgICAgIAotICAgIEFMV0FZU19JTkxJTkUgYm9vbCBjb25zaWRlckNhY2hpbmcoU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUpCisgICAgQUxXQVlTX0lOTElORSBib29sIGNvbnNpZGVyQ2FjaGlu
ZyhDb2RlQmxvY2sqIGNvZGVCbG9jaywgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewogICAg
ICAgICAvLyBXZSBuZXZlciBjYWNoZSBub24tY2VsbHMuCiAgICAgICAgIGlmICghc3RydWN0dXJl
KQpAQCAtMTM3LDcgKzEzNywxMiBAQCBwdWJsaWM6CiAgICAgICAgICAgICAvLyB3ZSBkb24ndCBh
bHJlYWR5IGhhdmUgYSBjYXNlIGJ1ZmZlcmVkIGZvci4gTm90ZSB0aGF0IGlmIHRoaXMgcmV0dXJu
cyB0cnVlIGJ1dCB0aGUKICAgICAgICAgICAgIC8vIGJ1ZmZlcmluZ0NvdW50ZG93biBpcyBub3Qg
emVybyB0aGVuIHdlIHdpbGwgYnVmZmVyIHRoZSBhY2Nlc3MgY2FzZSBmb3IgbGF0ZXIgd2l0aG91
dAogICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHkgZ2VuZXJhdGluZyBjb2RlIGZvciBpdC4KLSAg
ICAgICAgICAgIHJldHVybiBidWZmZXJlZFN0cnVjdHVyZXMuYWRkKHN0cnVjdHVyZSk7CisgICAg
ICAgICAgICBib29sIGlzTmV3bHlBZGRlZCA9IGJ1ZmZlcmVkU3RydWN0dXJlcy5hZGQoc3RydWN0
dXJlKTsKKyAgICAgICAgICAgIGlmIChpc05ld2x5QWRkZWQpIHsKKyAgICAgICAgICAgICAgICBW
TSYgdm0gPSAqY29kZUJsb2NrLT52bSgpOworICAgICAgICAgICAgICAgIHZtLmhlYXAud3JpdGVC
YXJyaWVyKGNvZGVCbG9jayk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICByZXR1cm4gaXNO
ZXdseUFkZGVkOwogICAgICAgICB9CiAgICAgICAgIGNvdW50ZG93bi0tOwogICAgICAgICByZXR1
cm4gZmFsc2U7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAJKHJldmlzaW9uIDIxMjEyNSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
T3BlcmF0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMCw3ICsyMTAsNyBAQCBFbmNvZGVk
SlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblRyCiAgICAgYmFzZVZhbHVlLmdldFByb3Bl
cnR5U2xvdChleGVjLCBpZGVudCwgc2xvdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgZW5jb2RlZEpTVmFsdWUoKSk7CiAKLSAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGlu
ZyhiYXNlVmFsdWUuc3RydWN0dXJlT3JOdWxsKCkpICYmICFzbG90LmlzVGFpbnRlZEJ5T3BhcXVl
T2JqZWN0KCkgJiYgKHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpIHx8IHNsb3QuaXNDYWNoZWFibGVH
ZXR0ZXIoKSB8fCBzbG90LmlzVW5zZXQoKSkpCisgICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNh
Y2hpbmcoZXhlYy0+Y29kZUJsb2NrKCksIGJhc2VWYWx1ZS5zdHJ1Y3R1cmVPck51bGwoKSkgJiYg
IXNsb3QuaXNUYWludGVkQnlPcGFxdWVPYmplY3QoKSAmJiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVl
KCkgfHwgc2xvdC5pc0NhY2hlYWJsZUdldHRlcigpIHx8IHNsb3QuaXNVbnNldCgpKSkKICAgICAg
ICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZv
LCBHZXRCeUlES2luZDo6UHVyZSk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHNsb3Qu
Z2V0UHVyZVJlc3VsdCgpKTsKQEAgLTI1OSw3ICsyNTksNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvbkdlCiAgICAgTE9HX0lDKChJQ0V2ZW50OjpPcGVyYXRpb25HZXRC
eUlkT3B0aW1pemUsIGJhc2VWYWx1ZS5jbGFzc0luZm9Pck51bGwoKnZtKSwgaWRlbnQpKTsKIAog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZVZhbHVlLmdldFByb3BlcnR5U2xvdChleGVj
LCBpZGVudCwgWyZdIChib29sIGZvdW5kLCBQcm9wZXJ0eVNsb3QmIHNsb3QpIC0+IEpTVmFsdWUg
ewotICAgICAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhiYXNlVmFsdWUuc3RydWN0
dXJlT3JOdWxsKCkpKQorICAgICAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhleGVj
LT5jb2RlQmxvY2soKSwgYmFzZVZhbHVlLnN0cnVjdHVyZU9yTnVsbCgpKSkKICAgICAgICAgICAg
IHJlcGF0Y2hHZXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywg
R2V0QnlJREtpbmQ6Ok5vcm1hbCk7CiAgICAgICAgIHJldHVybiBmb3VuZCA/IHNsb3QuZ2V0VmFs
dWUoZXhlYywgaWRlbnQpIDoganNVbmRlZmluZWQoKTsKICAgICB9KSk7CkBAIC0yODgsNyArMjg4
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25JbgogICAgIAogICAg
IFJFTEVBU0VfQVNTRVJUKGFjY2Vzc1R5cGUgPT0gc3R1YkluZm8tPmFjY2Vzc1R5cGUpOwogICAg
IAotICAgIGlmIChzdHViSW5mby0+Y29uc2lkZXJDYWNoaW5nKGFzT2JqZWN0KGJhc2UpLT5zdHJ1
Y3R1cmUoKSkpCisgICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoZXhlYy0+Y29kZUJs
b2NrKCksIGFzT2JqZWN0KGJhc2UpLT5zdHJ1Y3R1cmUoKSkpCiAgICAgICAgIHJlcGF0Y2hJbihl
eGVjLCBiYXNlLCBpZGVudCwgcmVzdWx0LCBzbG90LCAqc3R1YkluZm8pOwogICAgIAogICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHJlc3VsdCkpOwpAQCAtNDAzLDcgKzQwMyw4
IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWMKICAgICBKU1ZhbHVl
IHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNWYWx1ZSBiYXNl
VmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpOwogICAgIExPR19JQygoSUNFdmVu
dDo6T3BlcmF0aW9uUHV0QnlJZFN0cmljdE9wdGltaXplLCBiYXNlVmFsdWUuY2xhc3NJbmZvT3JO
dWxsKCp2bSksIGlkZW50KSk7Ci0gICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZVZhbHVlLCB0
cnVlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CisgICAgQ29kZUJsb2Nr
KiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlVmFsdWUsIHRydWUsIGNvZGVCbG9jay0+cHV0QnlJZENvbnRleHQoKSk7CiAKICAgICBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwoKSA/IGJhc2VWYWx1ZS5hc0Nl
bGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOwogICAgIGJhc2VWYWx1ZS5wdXRJbmxpbmUo
ZXhlYywgaWRlbnQsIHZhbHVlLCBzbG90KTsKQEAgLTQxMiw3ICs0MTMsNyBAQCB2b2lkIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZFN0cmljCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3Rh
dGljX2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1
cm47CiAgICAgCi0gICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoc3RydWN0dXJlKSkK
KyAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhjb2RlQmxvY2ssIHN0cnVjdHVyZSkp
CiAgICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VWYWx1ZSwgc3RydWN0dXJlLCBpZGVu
dCwgc2xvdCwgKnN0dWJJbmZvLCBOb3REaXJlY3QpOwogfQogCkBAIC00MzAsNyArNDMxLDggQEAg
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdAogICAgIEpTVmFsdWUgdmFs
dWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU1ZhbHVlIGJhc2VWYWx1
ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAgICAgTE9HX0lDKChJQ0V2ZW50OjpP
cGVyYXRpb25QdXRCeUlkTm9uU3RyaWN0T3B0aW1pemUsIGJhc2VWYWx1ZS5jbGFzc0luZm9Pck51
bGwoKnZtKSwgaWRlbnQpKTsKLSAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUsIGZh
bHNlLCBleGVjLT5jb2RlQmxvY2soKS0+cHV0QnlJZENvbnRleHQoKSk7CisgICAgQ29kZUJsb2Nr
KiBjb2RlQmxvY2sgPSBleGVjLT5jb2RlQmxvY2soKTsKKyAgICBQdXRQcm9wZXJ0eVNsb3Qgc2xv
dChiYXNlVmFsdWUsIGZhbHNlLCBjb2RlQmxvY2stPnB1dEJ5SWRDb250ZXh0KCkpOwogCiAgICAg
U3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlVmFsdWUuaXNDZWxsKCkgPyBiYXNlVmFsdWUuYXND
ZWxsKCktPnN0cnVjdHVyZSgqdm0pIDogbnVsbHB0cjsgICAgCiAgICAgYmFzZVZhbHVlLnB1dElu
bGluZShleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwpAQCAtNDM5LDcgKzQ0MSw3IEBAIHZvaWQg
SklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkTm9uU3QKICAgICBpZiAoYWNjZXNzVHlwZSAh
PSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAgICAg
IHJldHVybjsKICAgICAKLSAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhzdHJ1Y3R1
cmUpKQorICAgIGlmIChzdHViSW5mby0+Y29uc2lkZXJDYWNoaW5nKGNvZGVCbG9jaywgc3RydWN0
dXJlKSkKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBzdHJ1Y3R1cmUs
IGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKQEAgLTQ1Niw3ICs0NTgs
OCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjCiAgICAgSlNWYWx1
ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAgIEpTT2JqZWN0KiBi
YXNlT2JqZWN0ID0gYXNPYmplY3QoSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKSk7CiAgICAg
TE9HX0lDKChJQ0V2ZW50OjpPcGVyYXRpb25QdXRCeUlkRGlyZWN0U3RyaWN0T3B0aW1pemUsIGJh
c2VPYmplY3QtPmNsYXNzSW5mbygqdm0pLCBpZGVudCkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VPYmplY3QsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KGJhc2VPYmplY3QsIHRydWUsIGNvZGVCbG9jay0+cHV0QnlJZENv
bnRleHQoKSk7CiAgICAgCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2JqZWN0LT5z
dHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0oKSwgaWRl
bnQsIHZhbHVlLCBzbG90KTsKQEAgLTQ2NCw3ICs0NjcsNyBAQCB2b2lkIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uUHV0QnlJZERpcmVjCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGljX2Nhc3Q8
QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47CiAgICAg
Ci0gICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoc3RydWN0dXJlKSkKKyAgICBpZiAo
c3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhjb2RlQmxvY2ssIHN0cnVjdHVyZSkpCiAgICAgICAg
IHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3Qs
ICpzdHViSW5mbywgRGlyZWN0KTsKIH0KIApAQCAtNDgxLDcgKzQ4NCw4IEBAIHZvaWQgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWMKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09i
amVjdChKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2UpKTsKICAgICBMT0dfSUMoKElDRXZlbnQ6
Ok9wZXJhdGlvblB1dEJ5SWREaXJlY3ROb25TdHJpY3RPcHRpbWl6ZSwgYmFzZU9iamVjdC0+Y2xh
c3NJbmZvKCp2bSksIGlkZW50KSk7Ci0gICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVj
dCwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgpKTsKKyAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworICAgIFB1dFByb3BlcnR5U2xv
dCBzbG90KGJhc2VPYmplY3QsIGZhbHNlLCBjb2RlQmxvY2stPnB1dEJ5SWRDb250ZXh0KCkpOwog
ICAgIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZU9iamVjdC0+c3RydWN0dXJlKCp2
bSk7CiAgICAgYmFzZU9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPnZtKCksIGlkZW50LCB2YWx1ZSwg
c2xvdCk7CkBAIC00ODksNyArNDkzLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1
dEJ5SWREaXJlYwogICAgIGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+
KHN0dWJJbmZvLT5hY2Nlc3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGlmIChz
dHViSW5mby0+Y29uc2lkZXJDYWNoaW5nKHN0cnVjdHVyZSkpCisgICAgaWYgKHN0dWJJbmZvLT5j
b25zaWRlckNhY2hpbmcoY29kZUJsb2NrLCBzdHJ1Y3R1cmUpKQogICAgICAgICByZXBhdGNoUHV0
QnlJRChleGVjLCBiYXNlT2JqZWN0LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8s
IERpcmVjdCk7CiB9CiAKQEAgLTYxMiw3ICs2MTYsNyBAQCBzdGF0aWMgT3B0aW1pemF0aW9uUmVz
dWx0IHRyeVB1dEJ5VmFsT3B0CiAgICAgICAgICAgICAgICAgQ29uY3VycmVudEpTTG9ja2VyIGxv
Y2tlcihjb2RlQmxvY2stPm1fbG9jayk7CiAgICAgICAgICAgICAgICAgYnlWYWxJbmZvLT5hcnJh
eVByb2ZpbGUtPmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIsIGNvZGVCbG9jaywgc3Ry
dWN0dXJlKTsKIAotICAgICAgICAgICAgICAgIEpJVDo6Y29tcGlsZVB1dEJ5VmFsKCZ2bSwgZXhl
Yy0+Y29kZUJsb2NrKCksIGJ5VmFsSW5mbywgcmV0dXJuQWRkcmVzcywgYXJyYXlNb2RlKTsKKyAg
ICAgICAgICAgICAgICBKSVQ6OmNvbXBpbGVQdXRCeVZhbCgmdm0sIGNvZGVCbG9jaywgYnlWYWxJ
bmZvLCByZXR1cm5BZGRyZXNzLCBhcnJheU1vZGUpOwogICAgICAgICAgICAgICAgIG9wdGltaXph
dGlvblJlc3VsdCA9IE9wdGltaXphdGlvblJlc3VsdDo6T3B0aW1pemVkOwogICAgICAgICAgICAg
fQogICAgICAgICB9CkBAIC02OTYsNyArNzAwLDcgQEAgc3RhdGljIE9wdGltaXphdGlvblJlc3Vs
dCB0cnlEaXJlY3RQdXRCeQogICAgICAgICAgICAgICAgIENvbmN1cnJlbnRKU0xvY2tlciBsb2Nr
ZXIoY29kZUJsb2NrLT5tX2xvY2spOwogICAgICAgICAgICAgICAgIGJ5VmFsSW5mby0+YXJyYXlQ
cm9maWxlLT5jb21wdXRlVXBkYXRlZFByZWRpY3Rpb24obG9ja2VyLCBjb2RlQmxvY2ssIHN0cnVj
dHVyZSk7CiAKLSAgICAgICAgICAgICAgICBKSVQ6OmNvbXBpbGVEaXJlY3RQdXRCeVZhbCgmdm0s
IGV4ZWMtPmNvZGVCbG9jaygpLCBieVZhbEluZm8sIHJldHVybkFkZHJlc3MsIGFycmF5TW9kZSk7
CisgICAgICAgICAgICAgICAgSklUOjpjb21waWxlRGlyZWN0UHV0QnlWYWwoJnZtLCBjb2RlQmxv
Y2ssIGJ5VmFsSW5mbywgcmV0dXJuQWRkcmVzcywgYXJyYXlNb2RlKTsKICAgICAgICAgICAgICAg
ICBvcHRpbWl6YXRpb25SZXN1bHQgPSBPcHRpbWl6YXRpb25SZXN1bHQ6Ok9wdGltaXplZDsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQo=
</data>
<flag name="review"
          id="323021"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>301188</attachid>
            <date>2017-02-10 11:48:13 -0800</date>
            <delta_ts>2017-02-10 11:48:13 -0800</delta_ts>
            <desc>patch for landing + build fix.</desc>
            <filename>bug-168137.patch</filename>
            <type>text/plain</type>
            <size>9787</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjEyMTI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTAyLTEwICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBT
dHJ1Y3R1cmVTdHViSW5mbzo6Y29uc2lkZXJDYWNoaW5nKCkgc2hvdWxkIHdyaXRlIGJhcnJpZXIg
aXRzIG93bmVyIENvZGVCbG9jayB3aGVuIGJ1ZmZlcmluZyBhIG5ldyBTdHJ1Y3R1cmUuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjgxMzcKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzI4NjU2NjY0PgorCisgICAgICAgIFJldmlld2VkIGJ5IEZpbGlw
IFBpemxvLgorCisgICAgICAgIElmIHdlJ3JlIGFkZGluZyBhIG5ldyBzdHJ1Y3R1cmUgdG8gU3Ry
dWN0dXJlU3R1YkluZm8ncyBidWZmZXJlZFN0cnVjdHVyZXMsIHdlCisgICAgICAgIHNob3VsZCB3
cml0ZSBiYXJyaWVyIHRoZSBTdHViSW5mbydzIG93bmVyIENvZGVCbG9jayBiZWNhdXNlIHRoYXQg
c3RydWN0dXJlIG1heSBiZQorICAgICAgICBjb2xsZWN0ZWQgZHVyaW5nIHRoZSBuZXh0IEdDLiAg
V3JpdGUgYmFycmllci1pbmcgdGhlIG93bmVyIENvZGVCbG9jayBlbnN1cmVzIHRoYXQKKyAgICAg
ICAgQ29kZUJsb2NrOjpmaW5hbGl6ZUJhc2VsaW5lSklUSW5saW5lQ2FjaGVzKCkgaXMgY2FsbGVk
IG9uIGl0IGR1cmluZyB0aGUgR0MsCisgICAgICAgIHdoaWNoLCBpbiB0dXJuLCBnaXZlcyB0aGUg
U3RydWN0dXJlU3R1YkluZm8gdGhlIG9wcG9ydHVuaXR5IHRvIGZpbHRlciBvdXQgdGhlCisgICAg
ICAgIGRlYWQgc3RydWN0dXJlLgorCisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1Yklu
Zm8uaDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlU3R1YkluZm86OmNvbnNpZGVyQ2FjaGluZyk6
CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorCiAyMDE3LTAyLTEwICBCcmlhbiBC
dXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gV2ViIEluc3BlY3Rvcjog
Z2VuZXJhdGUgYW4gTlNfRU5VTSBjb250YWluaW5nIHBsYXRmb3JtcyBzdXBwb3J0ZWQgYnkgdGhl
IHByb3RvY29sIGNvZGUgZ2VuZXJhdG9yCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkocmV2aXNpb24gMjEyMTI1KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA4LCAyMDEy
LTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA4LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiQ29kZUJsb2NrLmgiCiAjaW5jbHVkZSAiQ29kZU9yaWdpbi5oIgogI2luY2x1ZGUgIklu
c3RydWN0aW9uLmgiCiAjaW5jbHVkZSAiSklUU3R1YlJvdXRpbmUuaCIKQEAgLTg1LDcgKzg2LDcg
QEAgcHVibGljOgogICAgIC8vIFRoaXMgcmV0dXJucyB0cnVlIGlmIGl0IGhhcyBtYXJrZWQgZXZl
cnl0aGluZyB0aGF0IGl0IHdpbGwgZXZlciBtYXJrLgogICAgIGJvb2wgcHJvcGFnYXRlVHJhbnNp
dGlvbnMoU2xvdFZpc2l0b3ImKTsKICAgICAgICAgCi0gICAgQUxXQVlTX0lOTElORSBib29sIGNv
bnNpZGVyQ2FjaGluZyhTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKKyAgICBBTFdBWVNfSU5MSU5FIGJv
b2wgY29uc2lkZXJDYWNoaW5nKENvZGVCbG9jayogY29kZUJsb2NrLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSkKICAgICB7CiAgICAgICAgIC8vIFdlIG5ldmVyIGNhY2hlIG5vbi1jZWxscy4KICAgICAg
ICAgaWYgKCFzdHJ1Y3R1cmUpCkBAIC0xMzcsNyArMTM4LDEyIEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIC8vIHdlIGRvbid0IGFscmVhZHkgaGF2ZSBhIGNhc2UgYnVmZmVyZWQgZm9yLiBOb3RlIHRo
YXQgaWYgdGhpcyByZXR1cm5zIHRydWUgYnV0IHRoZQogICAgICAgICAgICAgLy8gYnVmZmVyaW5n
Q291bnRkb3duIGlzIG5vdCB6ZXJvIHRoZW4gd2Ugd2lsbCBidWZmZXIgdGhlIGFjY2VzcyBjYXNl
IGZvciBsYXRlciB3aXRob3V0CiAgICAgICAgICAgICAvLyBpbW1lZGlhdGVseSBnZW5lcmF0aW5n
IGNvZGUgZm9yIGl0LgotICAgICAgICAgICAgcmV0dXJuIGJ1ZmZlcmVkU3RydWN0dXJlcy5hZGQo
c3RydWN0dXJlKTsKKyAgICAgICAgICAgIGJvb2wgaXNOZXdseUFkZGVkID0gYnVmZmVyZWRTdHJ1
Y3R1cmVzLmFkZChzdHJ1Y3R1cmUpOworICAgICAgICAgICAgaWYgKGlzTmV3bHlBZGRlZCkgewor
ICAgICAgICAgICAgICAgIFZNJiB2bSA9ICpjb2RlQmxvY2stPnZtKCk7CisgICAgICAgICAgICAg
ICAgdm0uaGVhcC53cml0ZUJhcnJpZXIoY29kZUJsb2NrKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIHJldHVybiBpc05ld2x5QWRkZWQ7CiAgICAgICAgIH0KICAgICAgICAgY291bnRkb3du
LS07CiAgICAgICAgIHJldHVybiBmYWxzZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjEyMTI1KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDcg
KzIxMCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVHIKICAgICBi
YXNlVmFsdWUuZ2V0UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBzbG90KTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKIAotICAgIGlmIChzdHViSW5m
by0+Y29uc2lkZXJDYWNoaW5nKGJhc2VWYWx1ZS5zdHJ1Y3R1cmVPck51bGwoKSkgJiYgIXNsb3Qu
aXNUYWludGVkQnlPcGFxdWVPYmplY3QoKSAmJiAoc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkgfHwg
c2xvdC5pc0NhY2hlYWJsZUdldHRlcigpIHx8IHNsb3QuaXNVbnNldCgpKSkKKyAgICBpZiAoc3R1
YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhleGVjLT5jb2RlQmxvY2soKSwgYmFzZVZhbHVlLnN0cnVj
dHVyZU9yTnVsbCgpKSAmJiAhc2xvdC5pc1RhaW50ZWRCeU9wYXF1ZU9iamVjdCgpICYmIChzbG90
LmlzQ2FjaGVhYmxlVmFsdWUoKSB8fCBzbG90LmlzQ2FjaGVhYmxlR2V0dGVyKCkgfHwgc2xvdC5p
c1Vuc2V0KCkpKQogICAgICAgICByZXBhdGNoR2V0QnlJRChleGVjLCBiYXNlVmFsdWUsIGlkZW50
LCBzbG90LCAqc3R1YkluZm8sIEdldEJ5SURLaW5kOjpQdXJlKTsKIAogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoc2xvdC5nZXRQdXJlUmVzdWx0KCkpOwpAQCAtMjU5LDcgKzI1OSw3IEBAIEVu
Y29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2UKICAgICBMT0dfSUMoKElDRXZl
bnQ6Ok9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZSwgYmFzZVZhbHVlLmNsYXNzSW5mb09yTnVsbCgq
dm0pLCBpZGVudCkpOwogCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShiYXNlVmFsdWUuZ2V0
UHJvcGVydHlTbG90KGV4ZWMsIGlkZW50LCBbJl0gKGJvb2wgZm91bmQsIFByb3BlcnR5U2xvdCYg
c2xvdCkgLT4gSlNWYWx1ZSB7Ci0gICAgICAgIGlmIChzdHViSW5mby0+Y29uc2lkZXJDYWNoaW5n
KGJhc2VWYWx1ZS5zdHJ1Y3R1cmVPck51bGwoKSkpCisgICAgICAgIGlmIChzdHViSW5mby0+Y29u
c2lkZXJDYWNoaW5nKGV4ZWMtPmNvZGVCbG9jaygpLCBiYXNlVmFsdWUuc3RydWN0dXJlT3JOdWxs
KCkpKQogICAgICAgICAgICAgcmVwYXRjaEdldEJ5SUQoZXhlYywgYmFzZVZhbHVlLCBpZGVudCwg
c2xvdCwgKnN0dWJJbmZvLCBHZXRCeUlES2luZDo6Tm9ybWFsKTsKICAgICAgICAgcmV0dXJuIGZv
dW5kID8gc2xvdC5nZXRWYWx1ZShleGVjLCBpZGVudCkgOiBqc1VuZGVmaW5lZCgpOwogICAgIH0p
KTsKQEAgLTI4OCw3ICsyODgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkluCiAgICAgCiAgICAgUkVMRUFTRV9BU1NFUlQoYWNjZXNzVHlwZSA9PSBzdHViSW5mby0+
YWNjZXNzVHlwZSk7CiAgICAgCi0gICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoYXNP
YmplY3QoYmFzZSktPnN0cnVjdHVyZSgpKSkKKyAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2Fj
aGluZyhleGVjLT5jb2RlQmxvY2soKSwgYXNPYmplY3QoYmFzZSktPnN0cnVjdHVyZSgpKSkKICAg
ICAgICAgcmVwYXRjaEluKGV4ZWMsIGJhc2UsIGlkZW50LCByZXN1bHQsIHNsb3QsICpzdHViSW5m
byk7CiAgICAgCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ocmVzdWx0KSk7
CkBAIC00MDMsNyArNDAzLDggQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWRT
dHJpYwogICAgIEpTVmFsdWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsK
ICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSk7CiAg
ICAgTE9HX0lDKChJQ0V2ZW50OjpPcGVyYXRpb25QdXRCeUlkU3RyaWN0T3B0aW1pemUsIGJhc2VW
YWx1ZS5jbGFzc0luZm9Pck51bGwoKnZtKSwgaWRlbnQpKTsKLSAgICBQdXRQcm9wZXJ0eVNsb3Qg
c2xvdChiYXNlVmFsdWUsIHRydWUsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgdHJ1ZSwgY29kZUJsb2NrLT5wdXRCeUlkQ29u
dGV4dCgpKTsKIAogICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gYmFzZVZhbHVlLmlzQ2VsbCgp
ID8gYmFzZVZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKnZtKSA6IG51bGxwdHI7CiAgICAgYmFz
ZVZhbHVlLnB1dElubGluZShleGVjLCBpZGVudCwgdmFsdWUsIHNsb3QpOwpAQCAtNDEyLDcgKzQx
Myw3IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkU3RyaWMKICAgICBpZiAo
YWNjZXNzVHlwZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlw
ZSkpCiAgICAgICAgIHJldHVybjsKICAgICAKLSAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2Fj
aGluZyhzdHJ1Y3R1cmUpKQorICAgIGlmIChzdHViSW5mby0+Y29uc2lkZXJDYWNoaW5nKGNvZGVC
bG9jaywgc3RydWN0dXJlKSkKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZVZhbHVl
LCBzdHJ1Y3R1cmUsIGlkZW50LCBzbG90LCAqc3R1YkluZm8sIE5vdERpcmVjdCk7CiB9CiAKQEAg
LTQzMCw3ICs0MzEsOCBAQCB2b2lkIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uUHV0QnlJZE5vblN0
CiAgICAgSlNWYWx1ZSB2YWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpOwogICAg
IEpTVmFsdWUgYmFzZVZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKICAgICBM
T0dfSUMoKElDRXZlbnQ6Ok9wZXJhdGlvblB1dEJ5SWROb25TdHJpY3RPcHRpbWl6ZSwgYmFzZVZh
bHVlLmNsYXNzSW5mb09yTnVsbCgqdm0pLCBpZGVudCkpOwotICAgIFB1dFByb3BlcnR5U2xvdCBz
bG90KGJhc2VWYWx1ZSwgZmFsc2UsIGV4ZWMtPmNvZGVCbG9jaygpLT5wdXRCeUlkQ29udGV4dCgp
KTsKKyAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOworICAgIFB1
dFByb3BlcnR5U2xvdCBzbG90KGJhc2VWYWx1ZSwgZmFsc2UsIGNvZGVCbG9jay0+cHV0QnlJZENv
bnRleHQoKSk7CiAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VWYWx1ZS5pc0NlbGwo
KSA/IGJhc2VWYWx1ZS5hc0NlbGwoKS0+c3RydWN0dXJlKCp2bSkgOiBudWxscHRyOyAgICAKICAg
ICBiYXNlVmFsdWUucHV0SW5saW5lKGV4ZWMsIGlkZW50LCB2YWx1ZSwgc2xvdCk7CkBAIC00Mzks
NyArNDQxLDcgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWROb25TdAogICAg
IGlmIChhY2Nlc3NUeXBlICE9IHN0YXRpY19jYXN0PEFjY2Vzc1R5cGU+KHN0dWJJbmZvLT5hY2Nl
c3NUeXBlKSkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAgIGlmIChzdHViSW5mby0+Y29uc2lk
ZXJDYWNoaW5nKHN0cnVjdHVyZSkpCisgICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmco
Y29kZUJsb2NrLCBzdHJ1Y3R1cmUpKQogICAgICAgICByZXBhdGNoUHV0QnlJRChleGVjLCBiYXNl
VmFsdWUsIHN0cnVjdHVyZSwgaWRlbnQsIHNsb3QsICpzdHViSW5mbywgTm90RGlyZWN0KTsKIH0K
IApAQCAtNDU2LDcgKzQ1OCw4IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlk
RGlyZWMKICAgICBKU1ZhbHVlIHZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRWYWx1ZSk7
CiAgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBhc09iamVjdChKU1ZhbHVlOjpkZWNvZGUoZW5j
b2RlZEJhc2UpKTsKICAgICBMT0dfSUMoKElDRXZlbnQ6Ok9wZXJhdGlvblB1dEJ5SWREaXJlY3RT
dHJpY3RPcHRpbWl6ZSwgYmFzZU9iamVjdC0+Y2xhc3NJbmZvKCp2bSksIGlkZW50KSk7Ci0gICAg
UHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwgZXhlYy0+Y29kZUJsb2NrKCkt
PnB1dEJ5SWRDb250ZXh0KCkpOworICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7CisgICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgdHJ1ZSwgY29k
ZUJsb2NrLT5wdXRCeUlkQ29udGV4dCgpKTsKICAgICAKICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSA9IGJhc2VPYmplY3QtPnN0cnVjdHVyZSgqdm0pOwogICAgIGJhc2VPYmplY3QtPnB1dERpcmVj
dChleGVjLT52bSgpLCBpZGVudCwgdmFsdWUsIHNsb3QpOwpAQCAtNDY0LDcgKzQ2Nyw3IEBAIHZv
aWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25QdXRCeUlkRGlyZWMKICAgICBpZiAoYWNjZXNzVHlw
ZSAhPSBzdGF0aWNfY2FzdDxBY2Nlc3NUeXBlPihzdHViSW5mby0+YWNjZXNzVHlwZSkpCiAgICAg
ICAgIHJldHVybjsKICAgICAKLSAgICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhzdHJ1
Y3R1cmUpKQorICAgIGlmIChzdHViSW5mby0+Y29uc2lkZXJDYWNoaW5nKGNvZGVCbG9jaywgc3Ry
dWN0dXJlKSkKICAgICAgICAgcmVwYXRjaFB1dEJ5SUQoZXhlYywgYmFzZU9iamVjdCwgc3RydWN0
dXJlLCBpZGVudCwgc2xvdCwgKnN0dWJJbmZvLCBEaXJlY3QpOwogfQogCkBAIC00ODEsNyArNDg0
LDggQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblB1dEJ5SWREaXJlYwogICAgIEpTVmFs
dWUgdmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZFZhbHVlKTsKICAgICBKU09iamVjdCog
YmFzZU9iamVjdCA9IGFzT2JqZWN0KEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZSkpOwogICAg
IExPR19JQygoSUNFdmVudDo6T3BlcmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXpl
LCBiYXNlT2JqZWN0LT5jbGFzc0luZm8oKnZtKSwgaWRlbnQpKTsKLSAgICBQdXRQcm9wZXJ0eVNs
b3Qgc2xvdChiYXNlT2JqZWN0LCBmYWxzZSwgZXhlYy0+Y29kZUJsb2NrKCktPnB1dEJ5SWRDb250
ZXh0KCkpOworICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2NrKCk7Cisg
ICAgUHV0UHJvcGVydHlTbG90IHNsb3QoYmFzZU9iamVjdCwgZmFsc2UsIGNvZGVCbG9jay0+cHV0
QnlJZENvbnRleHQoKSk7CiAgICAgCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBiYXNlT2Jq
ZWN0LT5zdHJ1Y3R1cmUoKnZtKTsKICAgICBiYXNlT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+dm0o
KSwgaWRlbnQsIHZhbHVlLCBzbG90KTsKQEAgLTQ4OSw3ICs0OTMsNyBAQCB2b2lkIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uUHV0QnlJZERpcmVjCiAgICAgaWYgKGFjY2Vzc1R5cGUgIT0gc3RhdGlj
X2Nhc3Q8QWNjZXNzVHlwZT4oc3R1YkluZm8tPmFjY2Vzc1R5cGUpKQogICAgICAgICByZXR1cm47
CiAgICAgCi0gICAgaWYgKHN0dWJJbmZvLT5jb25zaWRlckNhY2hpbmcoc3RydWN0dXJlKSkKKyAg
ICBpZiAoc3R1YkluZm8tPmNvbnNpZGVyQ2FjaGluZyhjb2RlQmxvY2ssIHN0cnVjdHVyZSkpCiAg
ICAgICAgIHJlcGF0Y2hQdXRCeUlEKGV4ZWMsIGJhc2VPYmplY3QsIHN0cnVjdHVyZSwgaWRlbnQs
IHNsb3QsICpzdHViSW5mbywgRGlyZWN0KTsKIH0KIApAQCAtNjEyLDcgKzYxNiw3IEBAIHN0YXRp
YyBPcHRpbWl6YXRpb25SZXN1bHQgdHJ5UHV0QnlWYWxPcHQKICAgICAgICAgICAgICAgICBDb25j
dXJyZW50SlNMb2NrZXIgbG9ja2VyKGNvZGVCbG9jay0+bV9sb2NrKTsKICAgICAgICAgICAgICAg
ICBieVZhbEluZm8tPmFycmF5UHJvZmlsZS0+Y29tcHV0ZVVwZGF0ZWRQcmVkaWN0aW9uKGxvY2tl
ciwgY29kZUJsb2NrLCBzdHJ1Y3R1cmUpOwogCi0gICAgICAgICAgICAgICAgSklUOjpjb21waWxl
UHV0QnlWYWwoJnZtLCBleGVjLT5jb2RlQmxvY2soKSwgYnlWYWxJbmZvLCByZXR1cm5BZGRyZXNz
LCBhcnJheU1vZGUpOworICAgICAgICAgICAgICAgIEpJVDo6Y29tcGlsZVB1dEJ5VmFsKCZ2bSwg
Y29kZUJsb2NrLCBieVZhbEluZm8sIHJldHVybkFkZHJlc3MsIGFycmF5TW9kZSk7CiAgICAgICAg
ICAgICAgICAgb3B0aW1pemF0aW9uUmVzdWx0ID0gT3B0aW1pemF0aW9uUmVzdWx0OjpPcHRpbWl6
ZWQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTY5Niw3ICs3MDAsNyBAQCBzdGF0aWMg
T3B0aW1pemF0aW9uUmVzdWx0IHRyeURpcmVjdFB1dEJ5CiAgICAgICAgICAgICAgICAgQ29uY3Vy
cmVudEpTTG9ja2VyIGxvY2tlcihjb2RlQmxvY2stPm1fbG9jayk7CiAgICAgICAgICAgICAgICAg
YnlWYWxJbmZvLT5hcnJheVByb2ZpbGUtPmNvbXB1dGVVcGRhdGVkUHJlZGljdGlvbihsb2NrZXIs
IGNvZGVCbG9jaywgc3RydWN0dXJlKTsKIAotICAgICAgICAgICAgICAgIEpJVDo6Y29tcGlsZURp
cmVjdFB1dEJ5VmFsKCZ2bSwgZXhlYy0+Y29kZUJsb2NrKCksIGJ5VmFsSW5mbywgcmV0dXJuQWRk
cmVzcywgYXJyYXlNb2RlKTsKKyAgICAgICAgICAgICAgICBKSVQ6OmNvbXBpbGVEaXJlY3RQdXRC
eVZhbCgmdm0sIGNvZGVCbG9jaywgYnlWYWxJbmZvLCByZXR1cm5BZGRyZXNzLCBhcnJheU1vZGUp
OwogICAgICAgICAgICAgICAgIG9wdGltaXphdGlvblJlc3VsdCA9IE9wdGltaXphdGlvblJlc3Vs
dDo6T3B0aW1pemVkOwogICAgICAgICAgICAgfQogICAgICAgICB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>