<?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>233145</bug_id>
          
          <creation_ts>2021-11-15 13:56:11 -0800</creation_ts>
          <short_desc>Decoder::unwrapForTesting() is unnecessarily inefficient</short_desc>
          <delta_ts>2021-11-16 08:59:33 -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>1815207</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-15 13:56:11 -0800</bug_when>
    <thetext>Decoder::unwrapForTesting() is unnecessarily inefficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815210</commentid>
    <comment_count>1</comment_count>
      <attachid>444303</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-15 13:58:53 -0800</bug_when>
    <thetext>Created attachment 444303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815300</commentid>
    <comment_count>2</comment_count>
      <attachid>444303</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-15 17:49:27 -0800</bug_when>
    <thetext>Comment on attachment 444303
Patch

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

&gt; Source/WebKit/Platform/IPC/Decoder.cpp:146
&gt; +    Vector&lt;Attachment&gt; attachments = std::exchange(decoder.m_attachments, { });

I would totally use auto here.

&gt; Source/WebKit/Platform/IPC/Decoder.h:137
&gt; +    std::optional&lt;Attachment&gt; takeAttachment();

Why isn’t this named takeLastAttachment? Is it obvious that the last one is the one to take?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815463</commentid>
    <comment_count>3</comment_count>
      <attachid>444374</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-16 07:12:56 -0800</bug_when>
    <thetext>Created attachment 444374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815515</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-16 08:58:02 -0800</bug_when>
    <thetext>Committed r285866 (244292@main): &lt;https://commits.webkit.org/244292@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 444374.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815516</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-16 08:59:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/85460462&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444303</attachid>
            <date>2021-11-15 13:58:53 -0800</date>
            <delta_ts>2021-11-16 07:12:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233145-20211115135852.patch</filename>
            <type>text/plain</type>
            <size>6340</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDBhODMzYmRkYTYwNDExZGVm
MmViY2Y5NDRkNmI2ZTI4MDFjMDhiOGIuLjNmYzc3MTE2ZWU4ODZmYmQ3MmM2Y2Y3ZjRkYmUwZjk4
NWQ0MDg5NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTUgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEZWNvZGVyOjp1bndyYXBGb3JUZXN0
aW5nKCkgaXMgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjb2Rlcjo6dW53cmFwRm9yVGVzdGluZygpIGlz
IHVubmVjZXNzYXJpbHkgaW5lZmZpY2llbnQuIEl0IGNhbiB0YWtlIHRoZSB3aG9sZQorICAgICAg
ICBtX2F0dGFjaG1lbnRzIGRhdGEgbWVtYmVycyBmcm9tIHRoZSBkZWNvZGVyIGluc3RlYWQgb2Yg
Y2FsbGluZyByZW1vdmVBdHRhY2htZW50KCkKKyAgICAgICAgcmVwZWF0ZWRseSBvbiB0aGUgRGVj
b2Rlci4KKworICAgICAgICBBbHNvIHJlbmFtZSByZW1vdmVBdHRhY2htZW50KCkgdG8gdGFrZUF0
dGFjaG1lbnQoKSBzaW5jZSBpdCByZXR1cm5zIHRoZSBBdHRhY2htZW50LgorICAgICAgICBVcGRh
dGUgaXQgdG8gcmV0dXJuIGEgc3RkOjpvcHRpb25hbDxBdHRhY2htZW50PiBpbnN0ZWFkIG9mIHVz
aW5nIGFuIG91dC1wYXJhbWV0ZXIuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvQXR0YWNobWVu
dC5jcHA6CisgICAgICAgIChJUEM6OkF0dGFjaG1lbnQ6OmRlY29kZSk6CisgICAgICAgICogUGxh
dGZvcm0vSVBDL0F0dGFjaG1lbnQuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5j
cHA6CisgICAgICAgIChJUEM6OkRlY29kZXI6OnVud3JhcEZvclRlc3RpbmcpOgorICAgICAgICAo
SVBDOjpEZWNvZGVyOjp0YWtlQXR0YWNobWVudCk6CisgICAgICAgIChJUEM6OkRlY29kZXI6OnJl
bW92ZUF0dGFjaG1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVy
Lmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL3dpbi9BdHRhY2htZW50V2luLmNwcDoKKyAgICAg
ICAgKElQQzo6QXR0YWNobWVudDo6ZGVjb2RlKToKKwogMjAyMS0xMS0xNSAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzb21lIGRlYWQgY29kZSBmcm9t
IElQQzo6RW5jb2RlciAvIElQQzo6RGVjb2RlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9B
dHRhY2htZW50LmNwcAppbmRleCA5NWFlNzEwYjEzOWVkMzdiMGQ3NjU4OTI1MjU1YjJiYTU2ZjAw
NDk3Li4xMjY3MjI5NGJmN2EwYjkzZGQ0ZjE2ZjI4YjAwNzliM2Y4OTE4OTFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcApAQCAtNTYsMTEgKzU2LDkgQEAgdm9p
ZCBBdHRhY2htZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVy
LmFkZEF0dGFjaG1lbnQoV1RGTW92ZSgqY29uc3RfY2FzdDxBdHRhY2htZW50Kj4odGhpcykpKTsK
IH0KIAotYm9vbCBBdHRhY2htZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQXR0YWNobWVu
dCYgYXR0YWNobWVudCkKK3N0ZDo6b3B0aW9uYWw8QXR0YWNobWVudD4gQXR0YWNobWVudDo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgaWYgKCFkZWNvZGVyLnJlbW92ZUF0dGFjaG1l
bnQoYXR0YWNobWVudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gZGVjb2Rlci50YWtlQXR0YWNobWVudCgpOwogfQogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuaAppbmRleCAxZTMyNGE4MjBiZjVkOWRhY2Ux
MDdjMzBmMDQ4MjkyMTFjZjkyMGI1Li45MGU0N2YwYmQ5MTgyNTVhZjlhMjkyNzZlZjM1ZjhiMGUz
NzBhODlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50
LmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXR0YWNobWVudC5oCkBAIC0yNiw2
ICsyNiw4IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8b3B0aW9uYWw+CisKICNpZiBP
UyhEQVJXSU4pICYmICFVU0UoVU5JWF9ET01BSU5fU09DS0VUUykKICNpbmNsdWRlIDxtYWNoL21h
Y2hfaW5pdC5oPgogI2luY2x1ZGUgPG1hY2gvbWFjaF90cmFwcy5oPgpAQCAtOTgsNyArMTAwLDcg
QEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Ci0g
ICAgc3RhdGljIFdBUk5fVU5VU0VEX1JFVFVSTiBib29sIGRlY29kZShEZWNvZGVyJiwgQXR0YWNo
bWVudCYpOworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEF0dGFjaG1lbnQ+IGRlY29kZShEZWNv
ZGVyJik7CiAgICAgCiBwcml2YXRlOgogICAgIFR5cGUgbV90eXBlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9EZWNvZGVyLmNwcAppbmRleCAzYzBhMTRmODFmZmY1M2VkYjYyNzVmOTM4N2I1OTYz
NWUwMTY2MmIzLi44MjI3ZGM3MzdkNzczODQzNmYzMjVlOGI1MDc1NTYxN2YzZTYzYjVhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmNwcApAQCAtMzMsMTAgKzMzLDYgQEAKICNp
bmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAotI2lmIFBM
QVRGT1JNKE1BQykKLSNpbmNsdWRlICJJbXBvcnRhbmNlQXNzZXJ0aW9uLmgiCi0jZW5kaWYKLQog
bmFtZXNwYWNlIElQQyB7CiAKIHN0YXRpYyBjb25zdCB1aW50OF90KiBjb3B5QnVmZmVyKGNvbnN0
IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGJ1ZmZlclNpemUpCkBAIC0xNDcsMTEgKzE0Myw3IEBA
IHN0ZDo6dW5pcXVlX3B0cjxEZWNvZGVyPiBEZWNvZGVyOjp1bndyYXBGb3JUZXN0aW5nKERlY29k
ZXImIGRlY29kZXIpCiB7CiAgICAgQVNTRVJUKGRlY29kZXIuaXNTeW5jTWVzc2FnZSgpKTsKIAot
ICAgIFZlY3RvcjxBdHRhY2htZW50PiBhdHRhY2htZW50czsKLSAgICBBdHRhY2htZW50IGF0dGFj
aG1lbnQ7Ci0gICAgd2hpbGUgKGRlY29kZXIucmVtb3ZlQXR0YWNobWVudChhdHRhY2htZW50KSkK
LSAgICAgICAgYXR0YWNobWVudHMuYXBwZW5kKFdURk1vdmUoYXR0YWNobWVudCkpOwotICAgIGF0
dGFjaG1lbnRzLnJldmVyc2UoKTsKKyAgICBWZWN0b3I8QXR0YWNobWVudD4gYXR0YWNobWVudHMg
PSBzdGQ6OmV4Y2hhbmdlKGRlY29kZXIubV9hdHRhY2htZW50cywgeyB9KTsKIAogICAgIERhdGFS
ZWZlcmVuY2Ugd3JhcHBlZE1lc3NhZ2U7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZSh3cmFwcGVk
TWVzc2FnZSkpCkBAIC0yMTgsMTMgKzIxMCwxMSBAQCBjb25zdCB1aW50OF90KiBEZWNvZGVyOjpk
ZWNvZGVGaXhlZExlbmd0aFJlZmVyZW5jZShzaXplX3Qgc2l6ZSwgc2l6ZV90IGFsaWdubWVudAog
ICAgIHJldHVybiBkYXRhOwogfQogCi1ib29sIERlY29kZXI6OnJlbW92ZUF0dGFjaG1lbnQoQXR0
YWNobWVudCYgYXR0YWNobWVudCkKK3N0ZDo6b3B0aW9uYWw8QXR0YWNobWVudD4gRGVjb2Rlcjo6
dGFrZUF0dGFjaG1lbnQoKQogewogICAgIGlmIChtX2F0dGFjaG1lbnRzLmlzRW1wdHkoKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgYXR0YWNobWVudCA9IG1fYXR0YWNobWVudHMudGFr
ZUxhc3QoKTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
KyAgICByZXR1cm4gbV9hdHRhY2htZW50cy50YWtlTGFzdCgpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAppbmRleCBiMjY1ZWE2Y2Q5MjY0
YWZjMjI0OTUzOWEzNWIyZGUzOTE3NzRiOTNkLi5hZTcwNzYyYWQ4MmYyNTdlMDYwNDM1YWJhOTcz
NWE4OThiYzU2NjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNv
ZGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oCkBAIC0yNyw4
ICsyNyw2IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiTWVzc2FnZU5h
bWVzLmgiCi0jaW5jbHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9T
aGFyZWRCdWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3Rm
L1ZlY3Rvci5oPgogCkBAIC0zNiwxMCArMzQsNiBAQAogI2luY2x1ZGUgIkltcG9ydGFuY2VBc3Nl
cnRpb24uaCIKICNlbmRpZgogCi0jaWYgSEFWRShRT1NfQ0xBU1NFUykKLSNpbmNsdWRlIDxwdGhy
ZWFkL3Fvcy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBJUEMgewogCiBlbnVtIGNsYXNzIE1lc3Nh
Z2VGbGFncyA6IHVpbnQ4X3Q7CkBAIC0xNDAsNyArMTM0LDcgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gYnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbihhbGlnbm9mKFQpLCBudW1FbGVtZW50
cyAqIHNpemVvZihUKSk7CiAgICAgfQogCi0gICAgYm9vbCByZW1vdmVBdHRhY2htZW50KEF0dGFj
aG1lbnQmKTsKKyAgICBzdGQ6Om9wdGlvbmFsPEF0dGFjaG1lbnQ+IHRha2VBdHRhY2htZW50KCk7
CiAKICAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJUENEZWNvZGVyID0gdHJ1ZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0F0dGFjaG1lbnRXaW4uY3Bw
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0F0dGFjaG1lbnRXaW4uY3BwCmluZGV4
IDAwNGFjYmFjMzdlNDU4MzkwZWFlNmU5ZDQ2ZjA3OWE1MDg5YTgzNGMuLjAzYjJhMTMwMDZiNTQ4
OGI1NmY3MDU1NGY4OTJjODA5NDAxN2FjNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL3dpbi9BdHRhY2htZW50V2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy93aW4vQXR0YWNobWVudFdpbi5jcHAKQEAgLTY1LDI0ICs2NSwyMSBAQCBzdGF0aWMg
Ym9vbCBnZXREdXBsaWNhdGVkSGFuZGxlKEhBTkRMRSBzb3VyY2VIYW5kbGUsIERXT1JEIHNvdXJj
ZVBJRCwgSEFORExFJiBkdQogICAgIHJldHVybiBzdWNjZXNzOwogfQogCi1ib29sIEF0dGFjaG1l
bnQ6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBBdHRhY2htZW50JiBhdHRhY2htZW50KQorc3Rk
OjpvcHRpb25hbDxBdHRhY2htZW50PiBBdHRhY2htZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKIHsKLSAgICBBU1NFUlRfQVJHKGF0dGFjaG1lbnQsIGF0dGFjaG1lbnQubV9oYW5kbGUgPT0g
SU5WQUxJRF9IQU5ETEVfVkFMVUUpOwotCiAgICAgdWludDY0X3Qgc291cmNlSGFuZGxlOwogICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoc291cmNlSGFuZGxlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgdWludDMyX3Qgc291cmNlUElE
OwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc291cmNlUElEKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAgICAgSEFORExFIGR1cGxpY2F0
ZWRIYW5kbGU7CiAgICAgaWYgKCFnZXREdXBsaWNhdGVkSGFuZGxlKHJlaW50ZXJwcmV0X2Nhc3Q8
SEFORExFPihzb3VyY2VIYW5kbGUpLCBzb3VyY2VQSUQsIGR1cGxpY2F0ZWRIYW5kbGUpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKLSAgICBh
dHRhY2htZW50Lm1faGFuZGxlID0gZHVwbGljYXRlZEhhbmRsZTsKLSAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gQXR0YWNobWVudCB7IGR1cGxpY2F0ZWRIYW5kbGUgfTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgSVBDCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444374</attachid>
            <date>2021-11-16 07:12:56 -0800</date>
            <delta_ts>2021-11-16 08:58:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233145-20211116071255.patch</filename>
            <type>text/plain</type>
            <size>6338</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU0NWU0OGQyODBiMzZkYWVk
ZTYxOWI3MmZlYzdjZDhjNmI4YmZiNzguLmI3MWIwNjM3YWU0YTAxOWNkZTNmYWJiNTY1MjhkNmRm
ZWJiNDg5ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjEtMTEtMTYgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBEZWNvZGVyOjp1bndyYXBGb3JUZXN0
aW5nKCkgaXMgdW5uZWNlc3NhcmlseSBpbmVmZmljaWVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMTQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgRGVjb2Rlcjo6dW53cmFwRm9yVGVzdGluZygpIGlzIHVu
bmVjZXNzYXJpbHkgaW5lZmZpY2llbnQuIEl0IGNhbiB0YWtlIHRoZSB3aG9sZQorICAgICAgICBt
X2F0dGFjaG1lbnRzIGRhdGEgbWVtYmVycyBmcm9tIHRoZSBkZWNvZGVyIGluc3RlYWQgb2YgY2Fs
bGluZyByZW1vdmVBdHRhY2htZW50KCkKKyAgICAgICAgcmVwZWF0ZWRseSBvbiB0aGUgRGVjb2Rl
ci4KKworICAgICAgICBBbHNvIHJlbmFtZSByZW1vdmVBdHRhY2htZW50KCkgdG8gdGFrZUF0dGFj
aG1lbnQoKSBzaW5jZSBpdCByZXR1cm5zIHRoZSBBdHRhY2htZW50LgorICAgICAgICBVcGRhdGUg
aXQgdG8gcmV0dXJuIGEgc3RkOjpvcHRpb25hbDxBdHRhY2htZW50PiBpbnN0ZWFkIG9mIHVzaW5n
IGFuIG91dC1wYXJhbWV0ZXIuCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvQXR0YWNobWVudC5j
cHA6CisgICAgICAgIChJUEM6OkF0dGFjaG1lbnQ6OmRlY29kZSk6CisgICAgICAgICogUGxhdGZv
cm0vSVBDL0F0dGFjaG1lbnQuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHA6
CisgICAgICAgIChJUEM6OkRlY29kZXI6OnVud3JhcEZvclRlc3RpbmcpOgorICAgICAgICAoSVBD
OjpEZWNvZGVyOjp0YWtlQXR0YWNobWVudCk6CisgICAgICAgIChJUEM6OkRlY29kZXI6OnJlbW92
ZUF0dGFjaG1lbnQpOiBEZWxldGVkLgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9EZWNvZGVyLmg6
CisgICAgICAgICogUGxhdGZvcm0vSVBDL3dpbi9BdHRhY2htZW50V2luLmNwcDoKKyAgICAgICAg
KElQQzo6QXR0YWNobWVudDo6ZGVjb2RlKToKKwogMjAyMS0xMS0xNiAgS2ltbW8gS2lubnVuZW4g
IDxra2lubnVuZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW90ZUdyYXBoaWNzQ29udGV4dEdM
Q29jb2E6Om1fc3dhcENoYWluIGlzIHVudXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvQXR0YWNobWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9B
dHRhY2htZW50LmNwcAppbmRleCA5NWFlNzEwYjEzOWVkMzdiMGQ3NjU4OTI1MjU1YjJiYTU2ZjAw
NDk3Li5mMWIzZjlmNjQyMDY0MjZmNjU5NDZlMDI3YjBkZWJkZGUwMDI2NDUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmNwcApAQCAtNTYsMTEgKzU2LDkgQEAgdm9p
ZCBBdHRhY2htZW50OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBlbmNvZGVy
LmFkZEF0dGFjaG1lbnQoV1RGTW92ZSgqY29uc3RfY2FzdDxBdHRhY2htZW50Kj4odGhpcykpKTsK
IH0KIAotYm9vbCBBdHRhY2htZW50OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQXR0YWNobWVu
dCYgYXR0YWNobWVudCkKK3N0ZDo6b3B0aW9uYWw8QXR0YWNobWVudD4gQXR0YWNobWVudDo6ZGVj
b2RlKERlY29kZXImIGRlY29kZXIpCiB7Ci0gICAgaWYgKCFkZWNvZGVyLnJlbW92ZUF0dGFjaG1l
bnQoYXR0YWNobWVudCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gZGVjb2Rlci50YWtlTGFzdEF0dGFjaG1lbnQoKTsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9BdHRhY2htZW50LmgKaW5kZXggMWUzMjRhODIwYmY1ZDlk
YWNlMTA3YzMwZjA0ODI5MjExY2Y5MjBiNS4uOTBlNDdmMGJkOTE4MjU1YWY5YTI5Mjc2ZWYzNWY4
YjBlMzcwYTg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQXR0YWNo
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0F0dGFjaG1lbnQuaApAQCAt
MjYsNiArMjYsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgPG9wdGlvbmFsPgorCiAj
aWYgT1MoREFSV0lOKSAmJiAhVVNFKFVOSVhfRE9NQUlOX1NPQ0tFVFMpCiAjaW5jbHVkZSA8bWFj
aC9tYWNoX2luaXQuaD4KICNpbmNsdWRlIDxtYWNoL21hY2hfdHJhcHMuaD4KQEAgLTk4LDcgKzEw
MCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwotICAgIHN0YXRpYyBXQVJOX1VOVVNFRF9SRVRVUk4gYm9vbCBkZWNvZGUoRGVjb2RlciYsIEF0
dGFjaG1lbnQmKTsKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxBdHRhY2htZW50PiBkZWNvZGUo
RGVjb2RlciYpOwogICAgIAogcHJpdmF0ZToKICAgICBUeXBlIG1fdHlwZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuY3BwIGIvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKaW5kZXggM2MwYTE0ZjgxZmZmNTNlZGI2Mjc1ZjkzODdi
NTk2MzVlMDE2NjJiMy4uMTMzMzY0NzM0YjgwZTdhYzFjYTMyOGU1MjBlZjg2NzZiNGFjNzMwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5jcHAKQEAgLTMzLDEwICszMyw2IEBA
CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKLSNp
ZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAiSW1wb3J0YW5jZUFzc2VydGlvbi5oIgotI2VuZGlm
Ci0KIG5hbWVzcGFjZSBJUEMgewogCiBzdGF0aWMgY29uc3QgdWludDhfdCogY29weUJ1ZmZlcihj
b25zdCB1aW50OF90KiBidWZmZXIsIHNpemVfdCBidWZmZXJTaXplKQpAQCAtMTQ3LDExICsxNDMs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8RGVjb2Rlcj4gRGVjb2Rlcjo6dW53cmFwRm9yVGVzdGluZyhE
ZWNvZGVyJiBkZWNvZGVyKQogewogICAgIEFTU0VSVChkZWNvZGVyLmlzU3luY01lc3NhZ2UoKSk7
CiAKLSAgICBWZWN0b3I8QXR0YWNobWVudD4gYXR0YWNobWVudHM7Ci0gICAgQXR0YWNobWVudCBh
dHRhY2htZW50OwotICAgIHdoaWxlIChkZWNvZGVyLnJlbW92ZUF0dGFjaG1lbnQoYXR0YWNobWVu
dCkpCi0gICAgICAgIGF0dGFjaG1lbnRzLmFwcGVuZChXVEZNb3ZlKGF0dGFjaG1lbnQpKTsKLSAg
ICBhdHRhY2htZW50cy5yZXZlcnNlKCk7CisgICAgYXV0byBhdHRhY2htZW50cyA9IHN0ZDo6ZXhj
aGFuZ2UoZGVjb2Rlci5tX2F0dGFjaG1lbnRzLCB7IH0pOwogCiAgICAgRGF0YVJlZmVyZW5jZSB3
cmFwcGVkTWVzc2FnZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHdyYXBwZWRNZXNzYWdlKSkK
QEAgLTIxOCwxMyArMjEwLDExIEBAIGNvbnN0IHVpbnQ4X3QqIERlY29kZXI6OmRlY29kZUZpeGVk
TGVuZ3RoUmVmZXJlbmNlKHNpemVfdCBzaXplLCBzaXplX3QgYWxpZ25tZW50CiAgICAgcmV0dXJu
IGRhdGE7CiB9CiAKLWJvb2wgRGVjb2Rlcjo6cmVtb3ZlQXR0YWNobWVudChBdHRhY2htZW50JiBh
dHRhY2htZW50KQorc3RkOjpvcHRpb25hbDxBdHRhY2htZW50PiBEZWNvZGVyOjp0YWtlTGFzdEF0
dGFjaG1lbnQoKQogewogICAgIGlmIChtX2F0dGFjaG1lbnRzLmlzRW1wdHkoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgYXR0YWNobWVudCA9IG1fYXR0YWNobWVudHMudGFrZUxhc3Qo
KTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICBy
ZXR1cm4gbV9hdHRhY2htZW50cy50YWtlTGFzdCgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJUEMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAppbmRleCBiMjY1ZWE2Y2Q5MjY0YWZjMjI0
OTUzOWEzNWIyZGUzOTE3NzRiOTNkLi43MDUzNWFmYjVjOWRlZWIyNjcyYTA2MDc1YjlhOGNhMTVk
Nzk5NDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9EZWNvZGVyLmgK
KysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oCkBAIC0yNyw4ICsyNyw2
IEBACiAKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiTWVzc2FnZU5hbWVzLmgi
Ci0jaW5jbHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRC
dWZmZXIuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgogCkBAIC0zNiwxMCArMzQsNiBAQAogI2luY2x1ZGUgIkltcG9ydGFuY2VBc3NlcnRpb24u
aCIKICNlbmRpZgogCi0jaWYgSEFWRShRT1NfQ0xBU1NFUykKLSNpbmNsdWRlIDxwdGhyZWFkL3Fv
cy5oPgotI2VuZGlmCi0KIG5hbWVzcGFjZSBJUEMgewogCiBlbnVtIGNsYXNzIE1lc3NhZ2VGbGFn
cyA6IHVpbnQ4X3Q7CkBAIC0xNDAsNyArMTM0LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4g
YnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbihhbGlnbm9mKFQpLCBudW1FbGVtZW50cyAqIHNp
emVvZihUKSk7CiAgICAgfQogCi0gICAgYm9vbCByZW1vdmVBdHRhY2htZW50KEF0dGFjaG1lbnQm
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPEF0dGFjaG1lbnQ+IHRha2VMYXN0QXR0YWNobWVudCgpOwog
CiAgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSVBDRGVjb2RlciA9IHRydWU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9BdHRhY2htZW50V2luLmNwcCBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9BdHRhY2htZW50V2luLmNwcAppbmRleCAw
MDRhY2JhYzM3ZTQ1ODM5MGVhZTZlOWQ0NmYwNzlhNTA4OWE4MzRjLi4wM2IyYTEzMDA2YjU0ODhi
NTZmNzA1NTRmODkyYzgwOTQwMTdhYzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy93aW4vQXR0YWNobWVudFdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvd2luL0F0dGFjaG1lbnRXaW4uY3BwCkBAIC02NSwyNCArNjUsMjEgQEAgc3RhdGljIGJv
b2wgZ2V0RHVwbGljYXRlZEhhbmRsZShIQU5ETEUgc291cmNlSGFuZGxlLCBEV09SRCBzb3VyY2VQ
SUQsIEhBTkRMRSYgZHUKICAgICByZXR1cm4gc3VjY2VzczsKIH0KIAotYm9vbCBBdHRhY2htZW50
OjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgQXR0YWNobWVudCYgYXR0YWNobWVudCkKK3N0ZDo6
b3B0aW9uYWw8QXR0YWNobWVudD4gQXR0YWNobWVudDo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIp
CiB7Ci0gICAgQVNTRVJUX0FSRyhhdHRhY2htZW50LCBhdHRhY2htZW50Lm1faGFuZGxlID09IElO
VkFMSURfSEFORExFX1ZBTFVFKTsKLQogICAgIHVpbnQ2NF90IHNvdXJjZUhhbmRsZTsKICAgICBp
ZiAoIWRlY29kZXIuZGVjb2RlKHNvdXJjZUhhbmRsZSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIHVpbnQzMl90IHNvdXJjZVBJRDsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHNvdXJjZVBJRCkpCi0gICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAogICAgIEhBTkRMRSBkdXBsaWNhdGVk
SGFuZGxlOwogICAgIGlmICghZ2V0RHVwbGljYXRlZEhhbmRsZShyZWludGVycHJldF9jYXN0PEhB
TkRMRT4oc291cmNlSGFuZGxlKSwgc291cmNlUElELCBkdXBsaWNhdGVkSGFuZGxlKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCi0gICAgYXR0
YWNobWVudC5tX2hhbmRsZSA9IGR1cGxpY2F0ZWRIYW5kbGU7Ci0gICAgcmV0dXJuIHRydWU7Cisg
ICAgcmV0dXJuIEF0dGFjaG1lbnQgeyBkdXBsaWNhdGVkSGFuZGxlIH07CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIElQQwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>