<?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>222084</bug_id>
          
          <creation_ts>2021-02-17 17:51:52 -0800</creation_ts>
          <short_desc>Crash in IPC::decode(Decoder&amp; decoder, RetainPtr&lt;SecKeychainItemRef&gt;&amp; result)</short_desc>
          <delta_ts>2021-02-19 11:50:03 -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>macOS 11</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="Julian Gonzalez">julian_a_gonzalez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1730680</commentid>
    <comment_count>0</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-02-17 17:51:52 -0800</bug_when>
    <thetext>e.g.

    #1 0x7fff223e01bc in SecKeychainItemCopyFromPersistentReference+0x176
    #2 0x118cfa27b in IPC::decode(IPC::Decoder&amp;, WTF::RetainPtr&lt;__SecKeychainItem*&gt;&amp;) ArgumentCodersCF.cpp:672
    #3 0x118cf6078 in IPC::decode(IPC::Decoder&amp;, WTF::RetainPtr&lt;void const*&gt;&amp;) ArgumentCodersCF.cpp:259
    #4 0x118cf8228 in IPC::decode(IPC::Decoder&amp;, WTF::RetainPtr&lt;__CFDictionary const*&gt;&amp;) ArgumentCodersCF.cpp:461
    #5 0x11a0056d7 in IPC::decodeNSError(IPC::Decoder&amp;, WTF::RetainPtr&lt;NSError&gt;&amp;) WebCoreArgumentCodersMac.mm:411
    #6 0x11a005406 in IPC::ArgumentCoder&lt;WebCore::ResourceError&gt;::decodePlatformData(IPC::Decoder&amp;, WebCore::ResourceError&amp;) WebCoreArgumentCodersMac.mm:435

SecKeychainItemCopyFromPersistentReference() cannot handle CFDataRefs with length 0.

&lt;rdar://problem/73568808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730688</commentid>
    <comment_count>1</comment_count>
      <attachid>420776</attachid>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-02-17 18:04:01 -0800</bug_when>
    <thetext>Created attachment 420776
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731056</commentid>
    <comment_count>2</comment_count>
    <who name="Julian Gonzalez">julian_a_gonzalez</who>
    <bug_when>2021-02-18 15:44:48 -0800</bug_when>
    <thetext>Failing Windows tests here do not seem to be related - this is a change in Mac only code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731109</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-18 17:13:20 -0800</bug_when>
    <thetext>Yeah http/tests/xmlhttprequest/redirect-cross-origin-sync-double.html isn&apos;t always failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731110</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-18 17:16:33 -0800</bug_when>
    <thetext>Committed r273116: &lt;https://commits.webkit.org/r273116&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 420776.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731116</commentid>
    <comment_count>5</comment_count>
      <attachid>420776</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-18 17:29:15 -0800</bug_when>
    <thetext>Comment on attachment 420776
Patch

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

&gt; Source/WebKit/Shared/cf/ArgumentCodersCF.cpp:671
&gt; +    CFDataRef dref = data.get();

For future reference, in a case like this there is no need for the local variable. It’s totally fine to call data.get() twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1731479</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-02-19 11:50:03 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 420776 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=420776&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/Shared/cf/ArgumentCodersCF.cpp:671
&gt; &gt; +    CFDataRef dref = data.get();
&gt; 
&gt; For future reference, in a case like this there is no need for the local
&gt; variable. It’s totally fine to call data.get() twice.

That&apos;s a good point. The compiler will do the work for us since get() is a simple accessor.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>420776</attachid>
            <date>2021-02-17 18:04:01 -0800</date>
            <delta_ts>2021-02-18 17:16:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222084-20210217180400.patch</filename>
            <type>text/plain</type>
            <size>4249</size>
            <attacher name="Julian Gonzalez">julian_a_gonzalez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcyOTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDgxZTZhMTU5ZTM3MTU0Mzk2
Y2U5MWNkZmNkZjczNDg0YjY4YjA1YzYuLmQ0ZDVhODg3ODE0N2IwYjg4OWE2MzY2MDhkYmE5NjBi
YWExMjY2MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjEtMDItMTcgIEp1bGlhbiBH
b256YWxleiAgPGp1bGlhbl9hX2dvbnphbGV6QGFwcGxlLmNvbT4KKworICAgICAgICBDcmFzaCBp
biBJUEM6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8U2VjS2V5Y2hhaW5JdGVt
UmVmPiYgcmVzdWx0KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjIyMDg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIGEgY2hlY2sgZm9yIGEgQ0ZEYXRhUmVmIG9mIDAgbGVuZ3RoIHNvIHRoYXQgd2Ug
ZG8gbm90IHBhc3MgdGhvc2UKKyAgICAgICAgdG8gU2VjS2V5Y2hhaW5JdGVtQ29weUZyb21QZXJz
aXN0ZW50UmVmZXJlbmNlKCksIHdoaWNoIGNyYXNoZXMgd2l0aCB0aGVtLgorCisgICAgICAgIFRl
c3Q6IGlwYy9hcmd1bWVudC1jb2RlcnMtY3Jhc2guaHRtbAorCisgICAgICAgICogU2hhcmVkL2Nm
L0FyZ3VtZW50Q29kZXJzQ0YuY3BwOgorICAgICAgICAoSVBDOjpkZWNvZGUpOgorCiAyMDIxLTAy
LTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIGV4
cGxpY2l0IHVzYWdlIG9mIFtvYmpDIGF1dG9yZWxlYXNlXSBpbiBXZWJLaXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL2NmL0FyZ3VtZW50Q29kZXJzQ0YuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAKaW5kZXggNzdlOWI0ZDVjYzc1MmZi
Y2RiNmI2NWY5YWRjMjYwMTk1NmNhMTQ3YS4uYmVkMGU2ZTc5NWQ5YzA3ZDMzMzMwZjI3YmU4MmRj
Yzk5ODlkM2I3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRD
b2RlcnNDRi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnND
Ri5jcHAKQEAgLTY2OCw4ICs2NjgsMTMgQEAgYm9vbCBkZWNvZGUoRGVjb2RlciYgZGVjb2Rlciwg
UmV0YWluUHRyPFNlY0tleWNoYWluSXRlbVJlZj4mIHJlc3VsdCkKICAgICBpZiAoIUlQQzo6ZGVj
b2RlKGRlY29kZXIsIGRhdGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBDRkRhdGFS
ZWYgZHJlZiA9IGRhdGEuZ2V0KCk7CisgICAgLy8gU2VjS2V5Y2hhaW5JdGVtQ29weUZyb21QZXJz
aXN0ZW50UmVmZXJlbmNlKCkgY2Fubm90IGhhbmRsZSAwLWxlbmd0aCBDRkRhdGFSZWZzLgorICAg
IGlmICghQ0ZEYXRhR2V0TGVuZ3RoKGRyZWYpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBTZWNLZXljaGFpbkl0ZW1SZWYgaXRlbTsKLSAgICBpZiAoU2VjS2V5Y2hhaW5JdGVtQ29weUZy
b21QZXJzaXN0ZW50UmVmZXJlbmNlKGRhdGEuZ2V0KCksICZpdGVtKSAhPSBlcnJTZWNTdWNjZXNz
IHx8ICFpdGVtKQorICAgIGlmIChTZWNLZXljaGFpbkl0ZW1Db3B5RnJvbVBlcnNpc3RlbnRSZWZl
cmVuY2UoZHJlZiwgJml0ZW0pICE9IGVyclNlY1N1Y2Nlc3MgfHwgIWl0ZW0pCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAKICAgICByZXN1bHQgPSBhZG9wdENGKGl0ZW0pOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI2
MjBhOTZlNmViNzIzY2ZjNTk0NjlkZTNhOTI3YTMzZGRiOWY4N2IuLmRhYWI5MmI0MTkyZWY2YTkz
NDRiY2RkNTU1MWQ2ZjljN2M1ZjljZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMi0x
NyAgSnVsaWFuIEdvbnphbGV6ICA8anVsaWFuX2FfZ29uemFsZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIENyYXNoIGluIElQQzo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxTZWNL
ZXljaGFpbkl0ZW1SZWY+JiByZXN1bHQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjIwODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgdGhlIHRlc3QgcHJvdmlkZWQgYnkgTmlscyBTb21tZXIgdGhh
dCBjYXRjaGVzIHRoaXMgY3Jhc2guCisKKyAgICAgICAgKiBpcGMvYXJndW1lbnQtY29kZXJzLWNy
YXNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaXBjL2FyZ3VtZW50LWNvZGVycy1j
cmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMi0xNiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBFdmVudEhhbmRsZXI6OnVwZGF0ZVNlbGVjdGlvbkZvck1vdXNl
RG93bkRpc3BhdGNoaW5nU2VsZWN0U3RhcnQgc2hvdWxkIG5vdCB1c2UgYW4gb3JwaGFuZWQgc2Vs
ZWN0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pcGMvYXJndW1lbnQtY29kZXJzLWNyYXNo
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lwYy9hcmd1bWVudC1jb2RlcnMtY3Jhc2gtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAzODMxNjIwZjY0ODA0NTM4ZTIwZTk2YTExMzNiYWU5MWQ2
YjRjZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pcGMvYXJndW1lbnQtY29kZXJz
LWNyYXNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUZXN0IHBhc3NlcyBpZiBpdCBkb2Vz
IG5vdCBjcmFzaC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lwYy9hcmd1bWVudC1jb2RlcnMt
Y3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2lwYy9hcmd1bWVudC1jb2RlcnMtY3Jhc2guaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jZmU2ODNkOGM4YTA0NDE0M2Y4OGU2N2Y0ZTg3NDJlOTM3ZTZkZDBmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaXBjL2FyZ3VtZW50LWNvZGVycy1jcmFzaC5odG1s
CkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgSVBDVGVzdGluZ0FQSUVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8Ym9keT4KK1Rlc3Qg
cGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworYnVmID0gbmV3IFVpbnQ4QXJy
YXkoWzB4MTMsIDB4MCwgMHgwLCAweDAsIDB4MSwgMHg1MiwgMHg2NSwgMHg2MSwgMHg2NCwgCisg
ICAgMHg2NSwgMHg3MiwgMHg1MywgMHg3NCwgMHg2MSwgMHg3NCwgMHg2NSwgMHg0ZiwgMHg2Miwg
MHg3MywgMHg2NSwgMHg3MiwgCisgICAgMHg3NiwgMHg2NSwgMHg3MiwgMHg5LCAweDAsIDB4MCwg
MHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MiwgMHgwLCAweDAsIAorICAgIDB4MCwgMHgwLCAw
eDAsIDB4MCwgMHgwLCAweGEsIDB4MCwgMHgwLCAweDAsIDB4MSwgMHgwLCAweDAsIDB4MCwgMHgy
LCAweDAsIAorICAgIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YSwgMHgwLCAweDAs
IDB4MCwgMHgyLCAweDAsIDB4MCwgMHgwLCAweDAsIAorICAgIDB4MCwgMHgwLCAweDAsIDB4YSwg
MHgwLCAweDAsIDB4MCwgMHgxLCAweDAsIDB4MCwgMHgwLCAweDIsIDB4MCwgMHgwLCAweDAsIAor
ICAgIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgxLCAweDAsIDB4MCwgMHgwLCAweDIsIDB4MCwgMHgw
LCAweDAsIDB4MCwgMHgwLCAweDAsIAorICAgIDB4MCwgMHhhLCAweDAsIDB4MCwgMHgwLCAweDEs
IDB4MCwgMHgwLCAweDIsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIAorICAgIDB4MCwg
MHgwLCAweDBdKTsKKworaWYgKHdpbmRvdy5JUEMpCisgICAgSVBDLnNlbmRNZXNzYWdlKCdVSScs
IDAsIElQQy5tZXNzYWdlcy5XZWJDb25uZWN0aW9uX0hhbmRsZU1lc3NhZ2UubmFtZSwgW2J1Zl0p
OworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>