<?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>226561</bug_id>
          
          <creation_ts>2021-06-02 17:01:15 -0700</creation_ts>
          <short_desc>Stop using a RefPtr&lt;IPC::Connection&gt; as HashMap key in DisplayLink</short_desc>
          <delta_ts>2022-03-29 01:13:38 -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>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>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=238493</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>226583</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>pvollan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1766227</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-02 17:01:15 -0700</bug_when>
    <thetext>Stop using a RefPtr&lt;IPC::Connection&gt; as HashMap key in DisplayLink. Using a RefPtr as key is suboptimal and could leak to memory leaks.
We now store IPC::Connection::UniqueID instead and look up the IPC::Connection from its identifier when we need to send an IPC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766230</commentid>
    <comment_count>1</comment_count>
      <attachid>430421</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-06-02 17:24:34 -0700</bug_when>
    <thetext>Created attachment 430421
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766277</commentid>
    <comment_count>2</comment_count>
      <attachid>430421</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-06-02 21:15:05 -0700</bug_when>
    <thetext>Comment on attachment 430421
Patch

Great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766281</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-02 22:09:09 -0700</bug_when>
    <thetext>Committed r278395 (238420@main): &lt;https://commits.webkit.org/238420@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430421.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766282</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-02 22:10:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/78798133&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855939</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 01:07:22 -0700</bug_when>
    <thetext>This patch is not defined C++.

Single-threaded id to instance lookup can be implemented by maintaining the id map in constructor and destructor.

Multi-threaded id to instance lookup cannot be implemented by maintaining the id map in the constructor and destructor. One thread might do a lookup while other thread might have already entered into the destructor, ending the life-time of the object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855940</commentid>
    <comment_count>6</comment_count>
      <attachid>430421</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 01:08:23 -0700</bug_when>
    <thetext>Comment on attachment 430421
Patch

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

&gt; Source/WebKit/Platform/IPC/Connection.cpp:309
&gt;  

one thread here, object life time has ended

&gt; Source/WebKit/Platform/IPC/Connection.h:530
&gt; +    return connection-&gt;send(WTFMove(message), destinationID, sendOptions);

other thread here, using object that is not alive anymore</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430421</attachid>
            <date>2021-06-02 17:24:34 -0700</date>
            <delta_ts>2021-06-02 22:09:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226561-20210602172434.patch</filename>
            <type>text/plain</type>
            <size>12290</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDI5ZjdkNjViZjgwY2RiNDU3
MDc2ODAyYmNjNzM3NjNkZTk4YWJkZDMuLjcyOWU0NzdiMDFjNmY4MmJiNGFhZDJkZmEwMWIyZTAz
NjIxMWU4ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMjEtMDYtMDIgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBTdG9wIHVzaW5nIGEgUmVmUHRyPElQ
Qzo6Q29ubmVjdGlvbj4gYXMgSGFzaE1hcCBrZXkgaW4gRGlzcGxheUxpbmsKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjU2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3AgdXNpbmcgYSBSZWZQdHI8
SVBDOjpDb25uZWN0aW9uPiBhcyBIYXNoTWFwIGtleSBpbiBEaXNwbGF5TGluay4gVXNpbmcgYSBS
ZWZQdHIgYXMga2V5IGlzIHN1Ym9wdGltYWwKKyAgICAgICAgYW5kIGNvdWxkIGxlYWsgdG8gbWVt
b3J5IGxlYWtzLiBUaGUgcmVhc29uIHRoaXMgbmVlZGVkIGEgUmVmUHRyPElQQzo6Q29ubmVjdGlv
bj4gd2FzIGJlY2F1c2Ugd2UgbmVlZGVkCisgICAgICAgIHRvIHNlbmQgSVBDIGZyb20gYSBiYWNr
Z3JvdW5kIHRocmVhZC4gVG8gc3VwcG9ydCB0aGlzLCBJIGhhdmUgYWRkZWQgYSBzdGF0aWMgSVBD
OjpDb25uZWN0aW9uOjpzZW5kKCkKKyAgICAgICAgZnVuY3Rpb24gdGhhdCB0YWtlcyBhbiBJUEM6
OkNvbm5lY3Rpb246OlVuaXF1ZUlEIGFuZCB0aGF0IGlzIHRocmVhZCBzYWZlLiBUaGUgZnVuY3Rp
b24gbG9va3MgdXAgdGhlCisgICAgICAgIElQQzo6Q29ubmVjdGlvbiBmcm9tIGl0cyBVbmlxdWVJ
RCBhbmQgc2VuZHMgdGhlIElQQyB3aGlsZSBzdGlsbCBob2xkaW5nIHRoZSBsb2NrLgorCisgICAg
ICAgIEFzIGEgcmVzdWx0LCBEaXNwbGF5TGluayBjYW4gdXNlIElQQzo6Q29ubmVjdGlvbjo6VW5p
cXVlSUQgYXMga2V5IGluc3RlYWQuCisKKyAgICAgICAgTm90ZSB0aGF0IEkgYW0gcGxhbm5pbmcg
dG8gdXNlIHRoZSBuZXcgc3RhdGljIElQQzo6Q29ubmVjdGlvbjo6c2VuZCgpIGluIG90aGVyIGNh
c2VzIHdoZXJlIHdlIGNvdWxkCisgICAgICAgIHNlbmQgSVBDIGRpcmVjdGx5IGZyb20gYSBiYWNr
Z3JvdW5kIHRocmVhZCBpbnN0ZWFkIG9mIGhhdmluZyB0byBob3AgdG8gdGhlIG1haW4gdGhyZWFk
IHRvIGxvb2sgdXAKKyAgICAgICAgdGhlIElQQzo6Q29ubmVjdGlvbiBmcm9tIGl0cyBVbmlxdWVJ
RC4gU3RvcmFnZUFyZWE6OmRpc3BhdGNoRXZlbnRzKCkgaXMgYW4gZXhhbXBsZSBvZiB3aGVyZSB0
aGlzIHdpbGwKKyAgICAgICAgYmUgdXNlZnVsLgorCisgICAgICAgICogUGxhdGZvcm0vSVBDL0Nv
bm5lY3Rpb24uY3BwOgorICAgICAgICAoSVBDOjpDb25uZWN0aW9uOjpDb25uZWN0aW9uKToKKyAg
ICAgICAgKElQQzo6Q29ubmVjdGlvbjo6fkNvbm5lY3Rpb24pOgorICAgICAgICAqIFBsYXRmb3Jt
L0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OnNlbmQpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuY3BwOgorICAgICAgICAoV2ViS2l0OjpE
aXNwbGF5TGluazo6YWRkT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5TGluazo6
cmVtb3ZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5TGluazo6cmVtb3ZlT2Jz
ZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6RGlzcGxheUxpbms6OnJlbW92ZUluZm9Gb3JDb25u
ZWN0aW9uSWZQb3NzaWJsZSk6CisgICAgICAgIChXZWJLaXQ6OkRpc3BsYXlMaW5rOjppbmNyZW1l
bnRGdWxsU3BlZWRSZXF1ZXN0Q2xpZW50Q291bnQpOgorICAgICAgICAoV2ViS2l0OjpEaXNwbGF5
TGluazo6ZGVjcmVtZW50RnVsbFNwZWVkUmVxdWVzdENsaWVudENvdW50KToKKyAgICAgICAgKFdl
YktpdDo6RGlzcGxheUxpbms6OnNldFByZWZlcnJlZEZyYW1lc1BlclNlY29uZCk6CisgICAgICAg
IChXZWJLaXQ6OkRpc3BsYXlMaW5rOjpub3RpZnlPYnNlcnZlcnNEaXNwbGF5V2FzUmVmcmVzaGVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5rLmg6CisKIDIwMjEtMDYtMDIg
IFBlciBBcm5lICA8cHZvbGxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gRml4IElPS2l0
IHNhbmRib3ggdmlvbGF0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmNwcAppbmRleCBkM2NlZmVhOTViYzBkYmJmNTg4YjZlM2NkNzk5ZGRlZjkzMDgyNDk4Li43OTk2
NzAzZjQxZmM1YjJmN2EwZWNkMzEyNjdhNDA0MzI3ZWE4MTU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcApAQCAtNTcsNiArNTcsOCBAQCBjb25zdCBzaXplX3Qg
bWF4UGVuZGluZ0luY29taW5nTWVzc2FnZXNLaWxsaW5nVGhyZXNob2xkIHsgNTAwMDAgfTsKIAog
c3RkOjphdG9taWM8dW5zaWduZWQ+IFVuYm91bmRlZFN5bmNocm9ub3VzSVBDU2NvcGU6OnVuYm91
bmRlZFN5bmNocm9ub3VzSVBDQ291bnQgPSAwOwogCitMb2NrIENvbm5lY3Rpb246OnNfY29ubmVj
dGlvbk1hcExvY2s7CisKIHN0cnVjdCBDb25uZWN0aW9uOjpXYWl0Rm9yTWVzc2FnZVN0YXRlIHsK
ICAgICBXYWl0Rm9yTWVzc2FnZVN0YXRlKE1lc3NhZ2VOYW1lIG1lc3NhZ2VOYW1lLCB1aW50NjRf
dCBkZXN0aW5hdGlvbklELCBPcHRpb25TZXQ8V2FpdEZvck9wdGlvbj4gd2FpdEZvck9wdGlvbnMp
CiAgICAgICAgIDogbWVzc2FnZU5hbWUobWVzc2FnZU5hbWUpCkBAIC0yNjgsNyArMjcwLDcgQEAg
UmVmPENvbm5lY3Rpb24+IENvbm5lY3Rpb246OmNyZWF0ZUNsaWVudENvbm5lY3Rpb24oSWRlbnRp
ZmllciBpZGVudGlmaWVyLCBDbGllbnQKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBDb25uZWN0
aW9uKGlkZW50aWZpZXIsIGZhbHNlLCBjbGllbnQpKTsKIH0KIAotc3RhdGljIEhhc2hNYXA8SVBD
OjpDb25uZWN0aW9uOjpVbmlxdWVJRCwgQ29ubmVjdGlvbio+JiBhbGxDb25uZWN0aW9ucygpCitI
YXNoTWFwPElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQsIENvbm5lY3Rpb24qPiYgQ29ubmVjdGlv
bjo6Y29ubmVjdGlvbk1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8
SVBDOjpDb25uZWN0aW9uOjpVbmlxdWVJRCwgQ29ubmVjdGlvbio+PiBtYXA7CiAgICAgcmV0dXJu
IG1hcDsKQEAgLTI5MSw3ICsyOTMsMTEgQEAgQ29ubmVjdGlvbjo6Q29ubmVjdGlvbihJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGJvb2wgaXNTZXJ2ZXIsIENsaWVudCYgY2xpZW50KQogICAgICwgbV9j
b25uZWN0aW9uUXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5JUEMuUmVjZWl2ZVF1
ZXVlIikpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLSAgICBhbGxDb25uZWN0
aW9ucygpLmFkZChtX3VuaXF1ZUlELCB0aGlzKTsKKworICAgIHsKKyAgICAgICAgTG9ja2VyIGxv
Y2tlciB7IHNfY29ubmVjdGlvbk1hcExvY2sgfTsKKyAgICAgICAgY29ubmVjdGlvbk1hcCgpLmFk
ZChtX3VuaXF1ZUlELCB0aGlzKTsKKyAgICB9CiAKICAgICBwbGF0Zm9ybUluaXRpYWxpemUoaWRl
bnRpZmllcik7CiB9CkBAIC0zMDEsMTUgKzMwNywyMSBAQCBDb25uZWN0aW9uOjp+Q29ubmVjdGlv
bigpCiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKICAgICBBU1NFUlQoIWlzVmFsaWQo
KSk7CiAKLSAgICBhbGxDb25uZWN0aW9ucygpLnJlbW92ZShtX3VuaXF1ZUlEKTsKKyAgICB7Cisg
ICAgICAgIExvY2tlciBsb2NrZXIgeyBzX2Nvbm5lY3Rpb25NYXBMb2NrIH07CisgICAgICAgIGNv
bm5lY3Rpb25NYXAoKS5yZW1vdmUobV91bmlxdWVJRCk7CisgICAgfQogCiAgICAgY2xlYXJBc3lu
Y1JlcGx5SGFuZGxlcnMoKnRoaXMpOwogfQogCi1Db25uZWN0aW9uKiBDb25uZWN0aW9uOjpjb25u
ZWN0aW9uKFVuaXF1ZUlEIHVuaXF1ZUlEKQorLy8gV1RGX0lHTk9SRVNfVEhSRUFEX1NBRkVUWV9B
TkFMWVNJUyBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gYWNjZXNzZXMgY29ubmVjdGlvbk1hcCgpIHdp
dGhvdXQgbG9ja2luZy4KKy8vIEl0IGlzIHNhZmUgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGlzIG9u
bHkgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZCBhbmQgQ29ubmVjdGlvbiBvYmplY3RzIGFyZSBv
bmx5CisvLyBjb25zdHJ1Y3RlZCAvIGRlc3Ryb3llZCBvbiB0aGUgbWFpbiB0aHJlYWQuCitDb25u
ZWN0aW9uKiBDb25uZWN0aW9uOjpjb25uZWN0aW9uKFVuaXF1ZUlEIHVuaXF1ZUlEKSBXVEZfSUdO
T1JFU19USFJFQURfU0FGRVRZX0FOQUxZU0lTCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFp
bigpKTsKLSAgICByZXR1cm4gYWxsQ29ubmVjdGlvbnMoKS5nZXQodW5pcXVlSUQpOworICAgIHJl
dHVybiBjb25uZWN0aW9uTWFwKCkuZ2V0KHVuaXF1ZUlEKTsKIH0KIAogdm9pZCBDb25uZWN0aW9u
OjpzZXRPbmx5U2VuZE1lc3NhZ2VzQXNEaXNwYXRjaFdoZW5XYWl0aW5nRm9yU3luY1JlcGx5V2hl
blByb2Nlc3NpbmdTdWNoQU1lc3NhZ2UoYm9vbCBmbGFnKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9J
UEMvQ29ubmVjdGlvbi5oCmluZGV4IDkyOTEzNDIxZjg2ZDdlNWVlZDg3ZWNjODRkNWQyYmQwNTVl
Zjc4YWQuLmJmZTUzNGFiNWU1MWYzM2IzMTNjNzBhZjBiMTc4MmVmOTY1MmIyYTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKQEAgLTI0Myw2ICsyNDMsOCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBwb3N0Q29ubmVjdGlvbkRpZENsb3NlT25Db25uZWN0aW9uV29ya1F1ZXVl
KCk7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgQz4gdWludDY0X3Qgc2VuZFdp
dGhBc3luY1JlcGx5KFQmJiBtZXNzYWdlLCBDJiYgY29tcGxldGlvbkhhbmRsZXIsIHVpbnQ2NF90
IGRlc3RpbmF0aW9uSUQgPSAwLCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gPSB7IH0pOyAvLyBUaHJl
YWQtc2FmZS4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBib29sIHNlbmQoVCYmIG1lc3NhZ2Us
IHVpbnQ2NF90IGRlc3RpbmF0aW9uSUQsIE9wdGlvblNldDxTZW5kT3B0aW9uPiBzZW5kT3B0aW9u
cyA9IHsgfSk7IC8vIFRocmVhZC1zYWZlLgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0YXRp
YyBib29sIHNlbmQoVW5pcXVlSUQsIFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklE
LCBPcHRpb25TZXQ8U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMgPSB7IH0pOyAvLyBUaHJlYWQtc2Fm
ZS4KKwogICAgIC8vIFN5bmMgc2VuZGVycyBzaG91bGQgY2hlY2sgdGhlIFNlbmRTeW5jUmVzdWx0
IGZvciB0cnVlL2ZhbHNlIGluIGNhc2UgdGhleSBuZWVkIHRvIGtub3cgaWYgdGhlIHJlc3VsdCB3
YXMgcmVhbGx5IHJlY2VpdmVkLgogICAgIC8vIFN5bmMgc2VuZGVycyBzaG91bGQgaG9sZCBvbiB0
byB0aGUgU2VuZFN5bmNSZXN1bHQgaW4gY2FzZSB0aGV5IHJlZmVyZW5jZSB0aGUgY29udGVudHMg
b2YgdGhlIHJlcGx5IHZpYSBEYXRhUmVmZXJlcmVuY2UgLyBBcnJheVJlZmVyZW5jZS4KICAgICB1
c2luZyBTZW5kU3luY1Jlc3VsdCA9IHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPjsKQEAgLTMyNSw2
ICszMjcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGxhdGZvcm1JbnZhbGlkYXRlKCk7CiAKICAg
ICBib29sIGlzSW5jb21pbmdNZXNzYWdlc1Rocm90dGxpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gISFtX2luY29taW5nTWVzc2FnZXNUaHJvdHRsZXI7IH0KKworICAgIHN0YXRpYyBIYXNoTWFw
PElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQsIENvbm5lY3Rpb24qPiYgY29ubmVjdGlvbk1hcCgp
IFdURl9SRVFVSVJFU19MT0NLKHNfY29ubmVjdGlvbk1hcExvY2spOwogICAgIAogICAgIHN0ZDo6
dW5pcXVlX3B0cjxEZWNvZGVyPiB3YWl0Rm9yTWVzc2FnZShNZXNzYWdlTmFtZSwgdWludDY0X3Qg
ZGVzdGluYXRpb25JRCwgVGltZW91dCwgT3B0aW9uU2V0PFdhaXRGb3JPcHRpb24+KTsKIApAQCAt
MzgyLDYgKzM4Niw3IEBAIHByaXZhdGU6CiAgICAgICAgIHVuc2lnbmVkIG1fdGhyb3R0bGluZ0xl
dmVsIHsgMCB9OwogICAgIH07CiAKKyAgICBzdGF0aWMgTG9jayBzX2Nvbm5lY3Rpb25NYXBMb2Nr
OwogICAgIENsaWVudCYgbV9jbGllbnQ7CiAgICAgVW5pcXVlSUQgbV91bmlxdWVJRDsKICAgICBi
b29sIG1faXNTZXJ2ZXI7CkBAIC01MTUsNiArNTIwLDE2IEBAIGJvb2wgQ29ubmVjdGlvbjo6c2Vu
ZChUJiYgbWVzc2FnZSwgdWludDY0X3QgZGVzdGluYXRpb25JRCwgT3B0aW9uU2V0PFNlbmRPcHRp
b24+CiAgICAgcmV0dXJuIHNlbmRNZXNzYWdlKFdURk1vdmUoZW5jb2RlciksIHNlbmRPcHRpb25z
KTsKIH0KIAordGVtcGxhdGU8dHlwZW5hbWUgVD4KK2Jvb2wgQ29ubmVjdGlvbjo6c2VuZChVbmlx
dWVJRCBjb25uZWN0aW9uSUQsIFQmJiBtZXNzYWdlLCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBP
cHRpb25TZXQ8U2VuZE9wdGlvbj4gc2VuZE9wdGlvbnMpCit7CisgICAgTG9ja2VyIGxvY2tlciB7
IHNfY29ubmVjdGlvbk1hcExvY2sgfTsKKyAgICBhdXRvKiBjb25uZWN0aW9uID0gY29ubmVjdGlv
bk1hcCgpLmdldChjb25uZWN0aW9uSUQpOworICAgIGlmICghY29ubmVjdGlvbikKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiBjb25uZWN0aW9uLT5zZW5kKFdURk1vdmUobWVzc2Fn
ZSksIGRlc3RpbmF0aW9uSUQsIHNlbmRPcHRpb25zKTsKK30KKwogdWludDY0X3QgbmV4dEFzeW5j
UmVwbHlIYW5kbGVySUQoKTsKIHZvaWQgYWRkQXN5bmNSZXBseUhhbmRsZXIoQ29ubmVjdGlvbiYs
IHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4mJik7CiBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKERlY29kZXIqKT4gdGFrZUFzeW5jUmVwbHlIYW5kbGVyKENvbm5lY3Rp
b24mLCB1aW50NjRfdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
RGlzcGxheUxpbmsuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL0Rpc3BsYXlMaW5r
LmNwcAppbmRleCA5NzEzNDQ5NmY2MTcxNGY0YTQxMGM5ZDNiYTljODQ4NDMzYzMyYWQ4Li5kMmJh
YzlhOTZiMmY2OGExYzQzMzE3MDYyZTQzOTJlNDNjNDcyMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5jcHAKQEAgLTkwLDcgKzkwLDcgQEAgdm9pZCBEaXNw
bGF5TGluazo6YWRkT2JzZXJ2ZXIoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBEaXNwbGF5
TGlua09ic2VydmVySUQKIAogICAgIHsKICAgICAgICAgTG9ja2VyIGxvY2tlciB7IG1fb2JzZXJ2
ZXJzTG9jayB9OwotICAgICAgICBtX29ic2VydmVycy5lbnN1cmUoJmNvbm5lY3Rpb24sIFtdIHsK
KyAgICAgICAgbV9vYnNlcnZlcnMuZW5zdXJlKGNvbm5lY3Rpb24udW5pcXVlSUQoKSwgW10gewog
ICAgICAgICAgICAgcmV0dXJuIENvbm5lY3Rpb25DbGllbnRJbmZvIHsgfTsKICAgICAgICAgfSku
aXRlcmF0b3ItPnZhbHVlLm9ic2VydmVycy5hcHBlbmQoeyBvYnNlcnZlcklELCBwcmVmZXJyZWRG
cmFtZXNQZXJTZWNvbmQgfSk7CiAgICAgfQpAQCAtMTExLDcgKzExMSw3IEBAIHZvaWQgRGlzcGxh
eUxpbms6OnJlbW92ZU9ic2VydmVyKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgRGlzcGxh
eUxpbmtPYnNlcnZlCiAKICAgICBMb2NrZXIgbG9ja2VyIHsgbV9vYnNlcnZlcnNMb2NrIH07CiAK
LSAgICBhdXRvIGl0ID0gbV9vYnNlcnZlcnMuZmluZCgmY29ubmVjdGlvbik7CisgICAgYXV0byBp
dCA9IG1fb2JzZXJ2ZXJzLmZpbmQoY29ubmVjdGlvbi51bmlxdWVJRCgpKTsKICAgICBpZiAoaXQg
PT0gbV9vYnNlcnZlcnMuZW5kKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTM2LDcgKzEzNiw3
IEBAIHZvaWQgRGlzcGxheUxpbms6OnJlbW92ZU9ic2VydmVycyhJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24pCiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKIAogICAgIExvY2tlciBs
b2NrZXIgeyBtX29ic2VydmVyc0xvY2sgfTsKLSAgICBtX29ic2VydmVycy5yZW1vdmUoJmNvbm5l
Y3Rpb24pOworICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShjb25uZWN0aW9uLnVuaXF1ZUlEKCkpOwog
CiAgICAgLy8gV2UgZG8gbm90IHN0b3AgdGhlIGRpc3BsYXkgbGluayByaWdodCBhd2F5IHdoZW4g
fG1fb2JzZXJ2ZXJzfCBiZWNvbWVzIGVtcHR5LiBJbnN0ZWFkLCB3ZQogICAgIC8vIGxldCB0aGUg
ZGlzcGxheSBsaW5rIGZpcmUgdXAgdG8gfG1heEZpcmVDb3VudFdpdGhvdXRPYnNlcnZlcnN8IHRp
bWVzIHdpdGhvdXQgb2JzZXJ2ZXJzIHRvIGF2b2lkCkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9pZCBE
aXNwbGF5TGluazo6cmVtb3ZlT2JzZXJ2ZXJzKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikK
IAogdm9pZCBEaXNwbGF5TGluazo6cmVtb3ZlSW5mb0ZvckNvbm5lY3Rpb25JZlBvc3NpYmxlKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikKIHsKLSAgICBhdXRvIGl0ID0gbV9vYnNlcnZlcnMu
ZmluZCgmY29ubmVjdGlvbik7CisgICAgYXV0byBpdCA9IG1fb2JzZXJ2ZXJzLmZpbmQoY29ubmVj
dGlvbi51bmlxdWVJRCgpKTsKICAgICBpZiAoaXQgPT0gbV9vYnNlcnZlcnMuZW5kKCkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgRGlzcGxheUxpbms6OmluY3Jl
bWVudEZ1bGxTcGVlZFJlcXVlc3RDbGllbnRDb3VudChJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
CiB7CiAgICAgTG9ja2VyIGxvY2tlciB7IG1fb2JzZXJ2ZXJzTG9jayB9OwogCi0gICAgYXV0byYg
Y29ubmVjdGlvbkluZm8gPSBtX29ic2VydmVycy5lbnN1cmUoJmNvbm5lY3Rpb24sIFtdIHsKKyAg
ICBhdXRvJiBjb25uZWN0aW9uSW5mbyA9IG1fb2JzZXJ2ZXJzLmVuc3VyZShjb25uZWN0aW9uLnVu
aXF1ZUlEKCksIFtdIHsKICAgICAgICAgcmV0dXJuIENvbm5lY3Rpb25DbGllbnRJbmZvIHsgfTsK
ICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAKQEAgLTE2OSw3ICsxNjksNyBAQCB2b2lkIERpc3Bs
YXlMaW5rOjpkZWNyZW1lbnRGdWxsU3BlZWRSZXF1ZXN0Q2xpZW50Q291bnQoSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aQogewogICAgIExvY2tlciBsb2NrZXIgeyBtX29ic2VydmVyc0xvY2sgfTsK
IAotICAgIGF1dG8gaXQgPSBtX29ic2VydmVycy5maW5kKCZjb25uZWN0aW9uKTsKKyAgICBhdXRv
IGl0ID0gbV9vYnNlcnZlcnMuZmluZChjb25uZWN0aW9uLnVuaXF1ZUlEKCkpOwogICAgIGlmIChp
dCA9PSBtX29ic2VydmVycy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC0xODUsNyArMTg1
LDcgQEAgdm9pZCBEaXNwbGF5TGluazo6c2V0UHJlZmVycmVkRnJhbWVzUGVyU2Vjb25kKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgRGlzcGwKIAogICAgIExvY2tlciBsb2NrZXIgeyBtX29i
c2VydmVyc0xvY2sgfTsKIAotICAgIGF1dG8gaXQgPSBtX29ic2VydmVycy5maW5kKCZjb25uZWN0
aW9uKTsKKyAgICBhdXRvIGl0ID0gbV9vYnNlcnZlcnMuZmluZChjb25uZWN0aW9uLnVuaXF1ZUlE
KCkpOwogICAgIGlmIChpdCA9PSBtX29ic2VydmVycy5lbmQoKSkKICAgICAgICAgcmV0dXJuOwog
CkBAIC0yMTgsNyArMjE4LDcgQEAgdm9pZCBEaXNwbGF5TGluazo6bm90aWZ5T2JzZXJ2ZXJzRGlz
cGxheVdhc1JlZnJlc2hlZCgpCiAgICAgfTsKIAogICAgIGJvb2wgYW55Q29ubmVjdGlvbkhhZE9i
c2VydmVycyA9IGZhbHNlOwotICAgIGZvciAoYXV0byYgW2Nvbm5lY3Rpb24sIGNvbm5lY3Rpb25J
bmZvXSA6IG1fb2JzZXJ2ZXJzKSB7CisgICAgZm9yIChhdXRvJiBbY29ubmVjdGlvbklELCBjb25u
ZWN0aW9uSW5mb10gOiBtX29ic2VydmVycykgewogICAgICAgICBpZiAoY29ubmVjdGlvbkluZm8u
b2JzZXJ2ZXJzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCkBAIC0yMzEsOSAr
MjMxLDkgQEAgdm9pZCBEaXNwbGF5TGluazo6bm90aWZ5T2JzZXJ2ZXJzRGlzcGxheVdhc1JlZnJl
c2hlZCgpCiAgICAgICAgICAgICA8PCAiIG9ic2VydmVycywgb24gYmFja2dyb3VuZCBxdWV1ZSAi
IDw8IHNob3VsZFNlbmRJUENPbkJhY2tncm91bmRRdWV1ZSA8PCAiIG1heEZyYW1lc1BlclNlY29u
ZCAiIDw8IG9ic2VydmVyc01heEZyYW1lc1BlclNlY29uZCA8PCAiIGZ1bGwgc3BlZWQgY2xpZW50
cyAiIDw8IGNvbm5lY3Rpb25JbmZvLmZ1bGxTcGVlZFVwZGF0ZXNDbGllbnRDb3VudCA8PCAiIHJl
bGV2YW50ICIgPDwgbWFpblRocmVhZFdhbnRzVXBkYXRlKTsKIAogICAgICAgICBpZiAoY29ubmVj
dGlvbkluZm8uZnVsbFNwZWVkVXBkYXRlc0NsaWVudENvdW50KSB7Ci0gICAgICAgICAgICBjb25u
ZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpFdmVudERpc3BhdGNoZXI6OkRpc3BsYXlXYXNSZWZyZXNo
ZWQobV9kaXNwbGF5SUQsIG1fY3VycmVudFVwZGF0ZSwgbWFpblRocmVhZFdhbnRzVXBkYXRlKSwg
MCk7CisgICAgICAgICAgICBJUEM6OkNvbm5lY3Rpb246OnNlbmQoY29ubmVjdGlvbklELCBNZXNz
YWdlczo6RXZlbnREaXNwYXRjaGVyOjpEaXNwbGF5V2FzUmVmcmVzaGVkKG1fZGlzcGxheUlELCBt
X2N1cnJlbnRVcGRhdGUsIG1haW5UaHJlYWRXYW50c1VwZGF0ZSksIDApOwogICAgICAgICB9IGVs
c2UgaWYgKG1haW5UaHJlYWRXYW50c1VwZGF0ZSkKLSAgICAgICAgICAgIGNvbm5lY3Rpb24tPnNl
bmQoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpc3BsYXlXYXNSZWZyZXNoZWQobV9kaXNwbGF5SUQs
IG1fY3VycmVudFVwZGF0ZSksIDApOworICAgICAgICAgICAgSVBDOjpDb25uZWN0aW9uOjpzZW5k
KGNvbm5lY3Rpb25JRCwgTWVzc2FnZXM6OldlYlByb2Nlc3M6OkRpc3BsYXlXYXNSZWZyZXNoZWQo
bV9kaXNwbGF5SUQsIG1fY3VycmVudFVwZGF0ZSksIDApOwogICAgIH0KIAogICAgIG1fY3VycmVu
dFVwZGF0ZSA9IG1fY3VycmVudFVwZGF0ZS5uZXh0VXBkYXRlKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvRGlzcGxheUxpbmsuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL21hYy9EaXNwbGF5TGluay5oCmluZGV4IDE5ZThkYmYwMTZlODgzMGQ0NDc1MTBlNDY4
ZmJkNDEyODhhMDViNjMuLjRmYjcxNzc5NGIwNTRiODJiYWYxYzc1MjU4ZDM1NjVmM2JmOGY1MmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9EaXNwbGF5TGluay5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAKICNpZiBIQVZFKENWRElTUExBWUxJTkspCiAKKyNpbmNsdWRlICJDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiRGlzcGxheUxpbmtPYnNlcnZlcklELmgiCiAjaW5jbHVkZSA8Q29yZVZp
ZGVvL0NWRGlzcGxheUxpbmsuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0FuaW1hdGlvbkZyYW1lUmF0
ZS5oPgpAQCAtODQsNyArODUsNyBAQCBwcml2YXRlOgogCiAgICAgQ1ZEaXNwbGF5TGlua1JlZiBt
X2Rpc3BsYXlMaW5rIHsgbnVsbHB0ciB9OwogICAgIExvY2sgbV9vYnNlcnZlcnNMb2NrOwotICAg
IEhhc2hNYXA8UmVmUHRyPElQQzo6Q29ubmVjdGlvbj4sIENvbm5lY3Rpb25DbGllbnRJbmZvPiBt
X29ic2VydmVycyBXVEZfR1VBUkRFRF9CWV9MT0NLKG1fb2JzZXJ2ZXJzTG9jayk7CisgICAgSGFz
aE1hcDxJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlELCBDb25uZWN0aW9uQ2xpZW50SW5mbz4gbV9v
YnNlcnZlcnMgV1RGX0dVQVJERURfQllfTE9DSyhtX29ic2VydmVyc0xvY2spOwogICAgIFdlYkNv
cmU6OlBsYXRmb3JtRGlzcGxheUlEIG1fZGlzcGxheUlEOwogICAgIFdlYkNvcmU6OkZyYW1lc1Bl
clNlY29uZCBtX2Rpc3BsYXlOb21pbmFsRnJhbWVzUGVyU2Vjb25kIHsgMCB9OwogICAgIFdlYkNv
cmU6OkRpc3BsYXlVcGRhdGUgbV9jdXJyZW50VXBkYXRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>