<?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>233148</bug_id>
          
          <creation_ts>2021-11-15 14:37:22 -0800</creation_ts>
          <short_desc>Do some hardening in IPC::createMessageDecoder()</short_desc>
          <delta_ts>2021-11-16 08:51:44 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1815219</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-15 14:37:22 -0800</bug_when>
    <thetext>Do some hardening in IPC::createMessageDecoder().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815220</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-15 14:37:52 -0800</bug_when>
    <thetext>&lt;rdar://75139294&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815232</commentid>
    <comment_count>2</comment_count>
      <attachid>444307</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-15 14:51:50 -0800</bug_when>
    <thetext>Created attachment 444307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815295</commentid>
    <comment_count>3</comment_count>
      <attachid>444307</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-15 17:37:44 -0800</bug_when>
    <thetext>Comment on attachment 444307
Patch

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

&gt; Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:438
&gt; +    auto sizeWithPortDescriptors = CheckedSize { sizeof(mach_msg_header_t) } + sizeof(mach_msg_body_t) + numberOfPortDescriptors * sizeof(mach_msg_port_descriptor_t);

Could add the first two sizes inside CheckedSize.

Is the numberOfPortDescriptors multiplication safe without CheckedSize? Currently it’s converted to CheckedSize only after multiplying.

&gt; Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:483
&gt; +    auto messageBodySize = CheckedSize { header-&gt;msgh_size } - sizeWithPortDescriptors;

Not important to have the CheckedSize cast here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815464</commentid>
    <comment_count>4</comment_count>
      <attachid>444375</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-16 07:16:44 -0800</bug_when>
    <thetext>Created attachment 444375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815512</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-16 08:51:38 -0800</bug_when>
    <thetext>Committed r285865 (244291@main): &lt;https://commits.webkit.org/244291@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444375.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444307</attachid>
            <date>2021-11-15 14:51:50 -0800</date>
            <delta_ts>2021-11-16 07:16:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233148-20211115145150.patch</filename>
            <type>text/plain</type>
            <size>5980</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBhODMzYmRkYTYwNDExZGVm
MmViY2Y5NDRkNmI2ZTI4MDFjMDhiOGIuLjc5MGRkMDNhOTdmYWM3MzZjYTg3ZjRhMjRlZjU0ZmM5
MGVjNzk4NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTEtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEbyBzb21lIGhhcmRlbmluZyBpbiBJ
UEM6OmNyZWF0ZU1lc3NhZ2VEZWNvZGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMzE0OAorICAgICAgICA8cmRhcjovLzc1MTM5Mjk0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIERvIG1vcmUgYm91
bmQgdmFsaWRhdGlvbiBpbnNkZSBjcmVhdGVNZXNzYWdlRGVjb2RlcigpIHRvIG1ha2Ugc3VyZSB3
ZSBzdGF5IHdpdGhpbgorICAgICAgICB0aGUgYm91bmRzIG9mIG91ciBSZWNlaXZlQnVmZmVyLgor
CisgICAgICAgIEFsc28sIHdoZW4gdGhlIGJvZHkgaXMgb3V0IG9mIGxpbmUsIHNldCBgb3V0X29m
X2xpbmUuZGVhbGxvY2F0ZWAgdG8gZmFsc2Ugc2luY2UKKyAgICAgICAgd2UgYXJlIHRha2luZyBv
d25lcnNoaXAgb2YgdGhlIG1lbW9yeSBhbmQgd2lsbCB2bV9kZWFsbG9jYXRlKCkgaXQgb3Vyc2Vs
dmVzLgorICAgICAgICBOb3JtYWxseSB0aGUgc2VuZGVyIChDb25uZWN0aW9uOjpzZW5kT3V0Z29p
bmdNZXNzYWdlKSBzZXRzIHRoYXQgZmxhZyB0byBmYWxzZSBidXQKKyAgICAgICAgaXQgaXMgYmV0
dGVyIG5vdCB0byByZWx5IG9uIHRoZSBzZW5kZXIgc2V0dGluZyBhIHBhcnRpY3VsYXIgZmxhZy4K
KworICAgICAgICAqIFBsYXRmb3JtL0lQQy9jb2NvYS9Db25uZWN0aW9uQ29jb2EubW06CisgICAg
ICAgIChJUEM6OmNyZWF0ZU1lc3NhZ2VEZWNvZGVyKToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlv
bjo6cmVjZWl2ZVNvdXJjZUV2ZW50SGFuZGxlcik6CisKIDIwMjEtMTEtMTUgIENocmlzIER1bWV6
ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgc29tZSBkZWFkIGNvZGUgZnJv
bSBJUEM6OkVuY29kZXIgLyBJUEM6OkRlY29kZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQppbmRleCA2ODg5N2UyZGYyMGE4NTgw
ZjhkY2Y4NTI0YzdiOTU5ODEyMTNhMGIwLi45NWM5M2EwNmVlYTk2YTFjMTQ0YTFmNDA0ZGViZTY3
NzI2YTg2ZmI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9D
b25uZWN0aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2Ev
Q29ubmVjdGlvbkNvY29hLm1tCkBAIC00MDgsOCArNDA4LDE0IEBAIHZvaWQgQ29ubmVjdGlvbjo6
cmVzdW1lU2VuZFNvdXJjZSgpCiAgICAgc2VuZE91dGdvaW5nTWVzc2FnZXMoKTsKIH0KIAotc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVhdGVNZXNzYWdlRGVjb2RlcihtYWNoX21z
Z19oZWFkZXJfdCogaGVhZGVyKQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVh
dGVNZXNzYWdlRGVjb2RlcihtYWNoX21zZ19oZWFkZXJfdCogaGVhZGVyLCBzaXplX3QgYnVmZmVy
U2l6ZSkKIHsKKyAgICBpZiAoVU5MSUtFTFkoaGVhZGVyLT5tc2doX3NpemUgPiBidWZmZXJTaXpl
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChJUEMsICJjcmVhdGVNZXNzYWdlRGVjb2Rl
cjogbXNnaF9zaXplIGlzIGdyZWF0ZXIgdGhhbiBidWZmZXJTaXplIChoZWFkZXItPm1zZ2hfc2l6
ZTogJWx1LCBidWZmZXJTaXplOiAlbHUpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oaGVh
ZGVyLT5tc2doX3NpemUpLCBidWZmZXJTaXplKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGlmICghKGhlYWRlci0+
bXNnaF9iaXRzICYgTUFDSF9NU0dIX0JJVFNfQ09NUExFWCkpIHsKICAgICAgICAgLy8gV2UgaGF2
ZSBhIHNpbXBsZSBtZXNzYWdlLgogICAgICAgICB1aW50OF90KiBib2R5ID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50OF90Kj4oaGVhZGVyICsgMSk7CkBAIC00MjYsOSArNDMyLDE2IEBAIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gY3JlYXRlTWVzc2FnZURlY29kZXIobWFjaF9tc2dfaGVh
ZGVyX3QqIGhlYWRlcikKICAgICBtYWNoX21zZ19ib2R5X3QqIGJvZHkgPSByZWludGVycHJldF9j
YXN0PG1hY2hfbXNnX2JvZHlfdCo+KGhlYWRlciArIDEpOwogICAgIG1hY2hfbXNnX3NpemVfdCBu
dW1iZXJPZlBvcnREZXNjcmlwdG9ycyA9IGJvZHktPm1zZ2hfZGVzY3JpcHRvcl9jb3VudDsKICAg
ICBBU1NFUlQobnVtYmVyT2ZQb3J0RGVzY3JpcHRvcnMpOwotICAgIGlmICghbnVtYmVyT2ZQb3J0
RGVzY3JpcHRvcnMpCisgICAgaWYgKFVOTElLRUxZKCFudW1iZXJPZlBvcnREZXNjcmlwdG9ycykp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgYXV0byBzaXplV2l0aFBvcnREZXNjcmlw
dG9ycyA9IENoZWNrZWRTaXplIHsgc2l6ZW9mKG1hY2hfbXNnX2hlYWRlcl90KSB9ICsgc2l6ZW9m
KG1hY2hfbXNnX2JvZHlfdCkgKyBudW1iZXJPZlBvcnREZXNjcmlwdG9ycyAqIHNpemVvZihtYWNo
X21zZ19wb3J0X2Rlc2NyaXB0b3JfdCk7CisgICAgaWYgKFVOTElLRUxZKHNpemVXaXRoUG9ydERl
c2NyaXB0b3JzLmhhc092ZXJmbG93ZWQoKSB8fCBzaXplV2l0aFBvcnREZXNjcmlwdG9ycy52YWx1
ZSgpID4gYnVmZmVyU2l6ZSkpIHsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoSVBDLCAiY3Jl
YXRlTWVzc2FnZURlY29kZXI6IE92ZXJmbG93IHdoZW4gY29tcHV0aW5nIHNpemVXaXRoUG9ydERl
c2NyaXB0b3JzIChudW1iZXJPZlBvcnREZXNjcmlwdG9yczogJWx1KSIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkIGxvbmc+KG51bWJlck9mUG9ydERlc2NyaXB0b3JzKSk7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKICAgICB1aW50
OF90KiBkZXNjcmlwdG9yRGF0YSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGJvZHkgKyAx
KTsKIAogICAgIC8vIElmIHRoZSBtZXNzYWdlIGJvZHkgd2FzIHNlbnQgb3V0LW9mLWxpbmUsIGRv
bid0IHRyZWF0IHRoZSBsYXN0IGRlc2NyaXB0b3IKQEAgLTQ0NSw3ICs0NTgsNyBAQCBzdGF0aWMg
c3RkOjp1bmlxdWVfcHRyPERlY29kZXI+IGNyZWF0ZU1lc3NhZ2VEZWNvZGVyKG1hY2hfbXNnX2hl
YWRlcl90KiBoZWFkZXIpCiAgICAgICAgIGlmIChkZXNjcmlwdG9yLT50eXBlLnR5cGUgIT0gTUFD
SF9NU0dfUE9SVF9ERVNDUklQVE9SKQogICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAg
ICAgICAgYXR0YWNobWVudHNbbnVtYmVyT2ZBdHRhY2htZW50cyAtIGkgLSAxXSA9IEF0dGFjaG1l
bnQoZGVzY3JpcHRvci0+cG9ydC5uYW1lLCBkZXNjcmlwdG9yLT5wb3J0LmRpc3Bvc2l0aW9uKTsK
KyAgICAgICAgYXR0YWNobWVudHNbbnVtYmVyT2ZBdHRhY2htZW50cyAtIGkgLSAxXSA9IEF0dGFj
aG1lbnQgeyBkZXNjcmlwdG9yLT5wb3J0Lm5hbWUsIGRlc2NyaXB0b3ItPnBvcnQuZGlzcG9zaXRp
b24gfTsKICAgICAgICAgZGVzY3JpcHRvckRhdGEgKz0gc2l6ZW9mKG1hY2hfbXNnX3BvcnRfZGVz
Y3JpcHRvcl90KTsKICAgICB9CiAKQEAgLTQ1Nyw2ICs0NzAsNyBAQCBzdGF0aWMgc3RkOjp1bmlx
dWVfcHRyPERlY29kZXI+IGNyZWF0ZU1lc3NhZ2VEZWNvZGVyKG1hY2hfbXNnX2hlYWRlcl90KiBo
ZWFkZXIpCiAKICAgICAgICAgdWludDhfdCogbWVzc2FnZUJvZHkgPSBzdGF0aWNfY2FzdDx1aW50
OF90Kj4oZGVzY3JpcHRvci0+b3V0X29mX2xpbmUuYWRkcmVzcyk7CiAgICAgICAgIHNpemVfdCBt
ZXNzYWdlQm9keVNpemUgPSBkZXNjcmlwdG9yLT5vdXRfb2ZfbGluZS5zaXplOworICAgICAgICBk
ZXNjcmlwdG9yLT5vdXRfb2ZfbGluZS5kZWFsbG9jYXRlID0gZmFsc2U7IC8vIFdlIGFyZSB0YWtp
bmcgb3duZXJzaGlwIG9mIHRoZSBtZW1vcnkuCiAKICAgICAgICAgcmV0dXJuIERlY29kZXI6OmNy
ZWF0ZShtZXNzYWdlQm9keSwgbWVzc2FnZUJvZHlTaXplLCBbXShjb25zdCB1aW50OF90KiBidWZm
ZXIsIHNpemVfdCBsZW5ndGgpIHsKICAgICAgICAgICAgIC8vIEZJWE1FOiA8cmRhcjovL3Byb2Js
ZW0vNjIwODYzNTg+IGJ1ZmZlckRlYWxsb2NhdG9yIGJsb2NrIGlnbm9yZXMgbWFjaF9tc2dfb29s
X2Rlc2NyaXB0b3JfdC0+ZGVhbGxvY2F0ZQpAQCAtNDY1LDEwICs0NzksMTAgQEAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVhdGVNZXNzYWdlRGVjb2RlcihtYWNoX21zZ19oZWFk
ZXJfdCogaGVhZGVyKQogICAgIH0KIAogICAgIHVpbnQ4X3QqIG1lc3NhZ2VCb2R5ID0gZGVzY3Jp
cHRvckRhdGE7Ci0gICAgQVNTRVJUKGRlc2NyaXB0b3JEYXRhID49IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KGhlYWRlcikpOwotICAgIGF1dG8gbWVzc2FnZUJvZHlTaXplID0gQ2hlY2tlZFNp
emUgeyBoZWFkZXItPm1zZ2hfc2l6ZSB9IC0gc3RhdGljX2Nhc3Q8c2l6ZV90PihkZXNjcmlwdG9y
RGF0YSAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGhlYWRlcikpOworICAgIEFTU0VSVCgo
cmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaGVhZGVyKSArIHNpemVXaXRoUG9ydERlc2NyaXB0
b3JzLnZhbHVlKCkpID09IG1lc3NhZ2VCb2R5KTsKKyAgICBhdXRvIG1lc3NhZ2VCb2R5U2l6ZSA9
IENoZWNrZWRTaXplIHsgaGVhZGVyLT5tc2doX3NpemUgfSAtIHNpemVXaXRoUG9ydERlc2NyaXB0
b3JzOwogICAgIGlmIChVTkxJS0VMWShtZXNzYWdlQm9keVNpemUuaGFzT3ZlcmZsb3dlZCgpKSkg
ewotICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChJUEMsICJjcmVhdGVNZXNzYWdlRGVjb2Rlcjog
T3ZlcmZsb3cgd2hlbiBjb21wdXRpbmcgYm9keVNpemUgKGhlYWRlci0+bXNnaF9zaXplOiAlbHUs
IChkZXNjcmlwdG9yRGF0YSAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGhlYWRlcikpOiAl
bHUpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oaGVhZGVyLT5tc2doX3NpemUpLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBsb25nPihkZXNjcmlwdG9yRGF0YSAtIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KGhlYWRlcikpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoSVBDLCAiY3Jl
YXRlTWVzc2FnZURlY29kZXI6IE92ZXJmbG93IHdoZW4gY29tcHV0aW5nIGJvZHlTaXplIChoZWFk
ZXItPm1zZ2hfc2l6ZTogJWx1LCBzaXplV2l0aFBvcnREZXNjcmlwdG9yczogJWx1KSIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGxvbmc+KGhlYWRlci0+bXNnaF9zaXplKSwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQgbG9uZz4oc2l6ZVdpdGhQb3J0RGVzY3JpcHRvcnMudmFsdWUoKSkpOwogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAt
NTM3LDcgKzU1MSw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6cmVjZWl2ZVNvdXJjZUV2ZW50SGFuZGxl
cigpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rl
cj4gZGVjb2RlciA9IGNyZWF0ZU1lc3NhZ2VEZWNvZGVyKGhlYWRlcik7CisgICAgc3RkOjp1bmlx
dWVfcHRyPERlY29kZXI+IGRlY29kZXIgPSBjcmVhdGVNZXNzYWdlRGVjb2RlcihoZWFkZXIsIGJ1
ZmZlci5zaXplKCkpOwogICAgIGlmICghZGVjb2RlcikKICAgICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444375</attachid>
            <date>2021-11-16 07:16:44 -0800</date>
            <delta_ts>2021-11-16 08:51:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233148-20211116071643.patch</filename>
            <type>text/plain</type>
            <size>5980</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0NWU0OGQyODBiMzZkYWVk
ZTYxOWI3MmZlYzdjZDhjNmI4YmZiNzguLmZlZWQ0OGY4ZGM1OGNkZTVlMjliMWIwZjU2MDk2ZWMx
MjU2MGFjMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjEtMTEtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEbyBzb21lIGhhcmRlbmluZyBpbiBJ
UEM6OmNyZWF0ZU1lc3NhZ2VEZWNvZGVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMzE0OAorICAgICAgICA8cmRhcjovLzc1MTM5Mjk0PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIERvIG1vcmUgYm91bmQg
dmFsaWRhdGlvbiBpbnNkZSBjcmVhdGVNZXNzYWdlRGVjb2RlcigpIHRvIG1ha2Ugc3VyZSB3ZSBz
dGF5IHdpdGhpbgorICAgICAgICB0aGUgYm91bmRzIG9mIG91ciBSZWNlaXZlQnVmZmVyLgorCisg
ICAgICAgIEFsc28sIHdoZW4gdGhlIGJvZHkgaXMgb3V0IG9mIGxpbmUsIHNldCBgb3V0X29mX2xp
bmUuZGVhbGxvY2F0ZWAgdG8gZmFsc2Ugc2luY2UKKyAgICAgICAgd2UgYXJlIHRha2luZyBvd25l
cnNoaXAgb2YgdGhlIG1lbW9yeSBhbmQgd2lsbCB2bV9kZWFsbG9jYXRlKCkgaXQgb3Vyc2VsdmVz
LgorICAgICAgICBOb3JtYWxseSB0aGUgc2VuZGVyIChDb25uZWN0aW9uOjpzZW5kT3V0Z29pbmdN
ZXNzYWdlKSBzZXRzIHRoYXQgZmxhZyB0byBmYWxzZSBidXQKKyAgICAgICAgaXQgaXMgYmV0dGVy
IG5vdCB0byByZWx5IG9uIHRoZSBzZW5kZXIgc2V0dGluZyBhIHBhcnRpY3VsYXIgZmxhZy4KKwor
ICAgICAgICAqIFBsYXRmb3JtL0lQQy9jb2NvYS9Db25uZWN0aW9uQ29jb2EubW06CisgICAgICAg
IChJUEM6OmNyZWF0ZU1lc3NhZ2VEZWNvZGVyKToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6
cmVjZWl2ZVNvdXJjZUV2ZW50SGFuZGxlcik6CisKIDIwMjEtMTEtMTYgIEtpbW1vIEtpbm51bmVu
ICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdGVHcmFwaGljc0NvbnRleHRH
TENvY29hOjptX3N3YXBDaGFpbiBpcyB1bnVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQppbmRleCA2ODg5N2UyZGYyMGE4NTgw
ZjhkY2Y4NTI0YzdiOTU5ODEyMTNhMGIwLi42MzhjZjMwZmIxZTllYjRhYzU4NTI4OTlmZjIzZDc2
MTZmNGY5MDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9D
b25uZWN0aW9uQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2Ev
Q29ubmVjdGlvbkNvY29hLm1tCkBAIC00MDgsOCArNDA4LDE0IEBAIHZvaWQgQ29ubmVjdGlvbjo6
cmVzdW1lU2VuZFNvdXJjZSgpCiAgICAgc2VuZE91dGdvaW5nTWVzc2FnZXMoKTsKIH0KIAotc3Rh
dGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVhdGVNZXNzYWdlRGVjb2RlcihtYWNoX21z
Z19oZWFkZXJfdCogaGVhZGVyKQorc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVh
dGVNZXNzYWdlRGVjb2RlcihtYWNoX21zZ19oZWFkZXJfdCogaGVhZGVyLCBzaXplX3QgYnVmZmVy
U2l6ZSkKIHsKKyAgICBpZiAoVU5MSUtFTFkoaGVhZGVyLT5tc2doX3NpemUgPiBidWZmZXJTaXpl
KSkgeworICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChJUEMsICJjcmVhdGVNZXNzYWdlRGVjb2Rl
cjogbXNnaF9zaXplIGlzIGdyZWF0ZXIgdGhhbiBidWZmZXJTaXplIChoZWFkZXItPm1zZ2hfc2l6
ZTogJWx1LCBidWZmZXJTaXplOiAlbHUpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oaGVh
ZGVyLT5tc2doX3NpemUpLCBidWZmZXJTaXplKTsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKwogICAgIGlmICghKGhlYWRlci0+
bXNnaF9iaXRzICYgTUFDSF9NU0dIX0JJVFNfQ09NUExFWCkpIHsKICAgICAgICAgLy8gV2UgaGF2
ZSBhIHNpbXBsZSBtZXNzYWdlLgogICAgICAgICB1aW50OF90KiBib2R5ID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50OF90Kj4oaGVhZGVyICsgMSk7CkBAIC00MjYsOSArNDMyLDE2IEBAIHN0YXRpYyBz
dGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gY3JlYXRlTWVzc2FnZURlY29kZXIobWFjaF9tc2dfaGVh
ZGVyX3QqIGhlYWRlcikKICAgICBtYWNoX21zZ19ib2R5X3QqIGJvZHkgPSByZWludGVycHJldF9j
YXN0PG1hY2hfbXNnX2JvZHlfdCo+KGhlYWRlciArIDEpOwogICAgIG1hY2hfbXNnX3NpemVfdCBu
dW1iZXJPZlBvcnREZXNjcmlwdG9ycyA9IGJvZHktPm1zZ2hfZGVzY3JpcHRvcl9jb3VudDsKICAg
ICBBU1NFUlQobnVtYmVyT2ZQb3J0RGVzY3JpcHRvcnMpOwotICAgIGlmICghbnVtYmVyT2ZQb3J0
RGVzY3JpcHRvcnMpCisgICAgaWYgKFVOTElLRUxZKCFudW1iZXJPZlBvcnREZXNjcmlwdG9ycykp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCisgICAgYXV0byBzaXplV2l0aFBvcnREZXNjcmlw
dG9ycyA9IENoZWNrZWRTaXplIHsgc2l6ZW9mKG1hY2hfbXNnX2hlYWRlcl90KSArIHNpemVvZiht
YWNoX21zZ19ib2R5X3QpIH0gKyBDaGVja2VkU2l6ZSB7IG51bWJlck9mUG9ydERlc2NyaXB0b3Jz
IH0gKiBzaXplb2YobWFjaF9tc2dfcG9ydF9kZXNjcmlwdG9yX3QpOworICAgIGlmIChVTkxJS0VM
WShzaXplV2l0aFBvcnREZXNjcmlwdG9ycy5oYXNPdmVyZmxvd2VkKCkgfHwgc2l6ZVdpdGhQb3J0
RGVzY3JpcHRvcnMudmFsdWUoKSA+IGJ1ZmZlclNpemUpKSB7CisgICAgICAgIFJFTEVBU0VfTE9H
X0ZBVUxUKElQQywgImNyZWF0ZU1lc3NhZ2VEZWNvZGVyOiBPdmVyZmxvdyB3aGVuIGNvbXB1dGlu
ZyBzaXplV2l0aFBvcnREZXNjcmlwdG9ycyAobnVtYmVyT2ZQb3J0RGVzY3JpcHRvcnM6ICVsdSki
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihudW1iZXJPZlBvcnREZXNjcmlwdG9ycykpOwor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgfQorCiAgICAgdWludDhfdCogZGVzY3JpcHRvckRhdGEgPSByZWludGVycHJldF9jYXN0PHVp
bnQ4X3QqPihib2R5ICsgMSk7CiAKICAgICAvLyBJZiB0aGUgbWVzc2FnZSBib2R5IHdhcyBzZW50
IG91dC1vZi1saW5lLCBkb24ndCB0cmVhdCB0aGUgbGFzdCBkZXNjcmlwdG9yCkBAIC00NDUsNyAr
NDU4LDcgQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVhdGVNZXNzYWdlRGVj
b2RlcihtYWNoX21zZ19oZWFkZXJfdCogaGVhZGVyKQogICAgICAgICBpZiAoZGVzY3JpcHRvci0+
dHlwZS50eXBlICE9IE1BQ0hfTVNHX1BPUlRfREVTQ1JJUFRPUikKICAgICAgICAgICAgIHJldHVy
biBudWxscHRyOwogCi0gICAgICAgIGF0dGFjaG1lbnRzW251bWJlck9mQXR0YWNobWVudHMgLSBp
IC0gMV0gPSBBdHRhY2htZW50KGRlc2NyaXB0b3ItPnBvcnQubmFtZSwgZGVzY3JpcHRvci0+cG9y
dC5kaXNwb3NpdGlvbik7CisgICAgICAgIGF0dGFjaG1lbnRzW251bWJlck9mQXR0YWNobWVudHMg
LSBpIC0gMV0gPSBBdHRhY2htZW50IHsgZGVzY3JpcHRvci0+cG9ydC5uYW1lLCBkZXNjcmlwdG9y
LT5wb3J0LmRpc3Bvc2l0aW9uIH07CiAgICAgICAgIGRlc2NyaXB0b3JEYXRhICs9IHNpemVvZiht
YWNoX21zZ19wb3J0X2Rlc2NyaXB0b3JfdCk7CiAgICAgfQogCkBAIC00NTcsNiArNDcwLDcgQEAg
c3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBjcmVhdGVNZXNzYWdlRGVjb2RlcihtYWNo
X21zZ19oZWFkZXJfdCogaGVhZGVyKQogCiAgICAgICAgIHVpbnQ4X3QqIG1lc3NhZ2VCb2R5ID0g
c3RhdGljX2Nhc3Q8dWludDhfdCo+KGRlc2NyaXB0b3ItPm91dF9vZl9saW5lLmFkZHJlc3MpOwog
ICAgICAgICBzaXplX3QgbWVzc2FnZUJvZHlTaXplID0gZGVzY3JpcHRvci0+b3V0X29mX2xpbmUu
c2l6ZTsKKyAgICAgICAgZGVzY3JpcHRvci0+b3V0X29mX2xpbmUuZGVhbGxvY2F0ZSA9IGZhbHNl
OyAvLyBXZSBhcmUgdGFraW5nIG93bmVyc2hpcCBvZiB0aGUgbWVtb3J5LgogCiAgICAgICAgIHJl
dHVybiBEZWNvZGVyOjpjcmVhdGUobWVzc2FnZUJvZHksIG1lc3NhZ2VCb2R5U2l6ZSwgW10oY29u
c3QgdWludDhfdCogYnVmZmVyLCBzaXplX3QgbGVuZ3RoKSB7CiAgICAgICAgICAgICAvLyBGSVhN
RTogPHJkYXI6Ly9wcm9ibGVtLzYyMDg2MzU4PiBidWZmZXJEZWFsbG9jYXRvciBibG9jayBpZ25v
cmVzIG1hY2hfbXNnX29vbF9kZXNjcmlwdG9yX3QtPmRlYWxsb2NhdGUKQEAgLTQ2NSwxMCArNDc5
LDEwIEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gY3JlYXRlTWVzc2FnZURlY29k
ZXIobWFjaF9tc2dfaGVhZGVyX3QqIGhlYWRlcikKICAgICB9CiAKICAgICB1aW50OF90KiBtZXNz
YWdlQm9keSA9IGRlc2NyaXB0b3JEYXRhOwotICAgIEFTU0VSVChkZXNjcmlwdG9yRGF0YSA+PSBy
ZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihoZWFkZXIpKTsKLSAgICBhdXRvIG1lc3NhZ2VCb2R5
U2l6ZSA9IENoZWNrZWRTaXplIHsgaGVhZGVyLT5tc2doX3NpemUgfSAtIHN0YXRpY19jYXN0PHNp
emVfdD4oZGVzY3JpcHRvckRhdGEgLSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihoZWFkZXIp
KTsKKyAgICBBU1NFUlQoKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGhlYWRlcikgKyBzaXpl
V2l0aFBvcnREZXNjcmlwdG9ycy52YWx1ZSgpKSA9PSBtZXNzYWdlQm9keSk7CisgICAgYXV0byBt
ZXNzYWdlQm9keVNpemUgPSBoZWFkZXItPm1zZ2hfc2l6ZSAtIHNpemVXaXRoUG9ydERlc2NyaXB0
b3JzOwogICAgIGlmIChVTkxJS0VMWShtZXNzYWdlQm9keVNpemUuaGFzT3ZlcmZsb3dlZCgpKSkg
ewotICAgICAgICBSRUxFQVNFX0xPR19GQVVMVChJUEMsICJjcmVhdGVNZXNzYWdlRGVjb2Rlcjog
T3ZlcmZsb3cgd2hlbiBjb21wdXRpbmcgYm9keVNpemUgKGhlYWRlci0+bXNnaF9zaXplOiAlbHUs
IChkZXNjcmlwdG9yRGF0YSAtIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGhlYWRlcikpOiAl
bHUpIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4oaGVhZGVyLT5tc2doX3NpemUpLCBzdGF0
aWNfY2FzdDx1bnNpZ25lZCBsb25nPihkZXNjcmlwdG9yRGF0YSAtIHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KGhlYWRlcikpKTsKKyAgICAgICAgUkVMRUFTRV9MT0dfRkFVTFQoSVBDLCAiY3Jl
YXRlTWVzc2FnZURlY29kZXI6IE92ZXJmbG93IHdoZW4gY29tcHV0aW5nIGJvZHlTaXplIChoZWFk
ZXItPm1zZ2hfc2l6ZTogJWx1LCBzaXplV2l0aFBvcnREZXNjcmlwdG9yczogJWx1KSIsIHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGxvbmc+KGhlYWRlci0+bXNnaF9zaXplKSwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQgbG9uZz4oc2l6ZVdpdGhQb3J0RGVzY3JpcHRvcnMudmFsdWUoKSkpOwogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAt
NTM3LDcgKzU1MSw3IEBAIHZvaWQgQ29ubmVjdGlvbjo6cmVjZWl2ZVNvdXJjZUV2ZW50SGFuZGxl
cigpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rl
cj4gZGVjb2RlciA9IGNyZWF0ZU1lc3NhZ2VEZWNvZGVyKGhlYWRlcik7CisgICAgc3RkOjp1bmlx
dWVfcHRyPERlY29kZXI+IGRlY29kZXIgPSBjcmVhdGVNZXNzYWdlRGVjb2RlcihoZWFkZXIsIGJ1
ZmZlci5zaXplKCkpOwogICAgIGlmICghZGVjb2RlcikKICAgICAgICAgcmV0dXJuOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>