Bug 256432

Summary: Fix false-positive bad release after calling H264BufferToCMSampleBuffer/H265BufferToCMSampleBuffer
Product: WebKit Reporter: David Kilzer (:ddkilzer) <ddkilzer>
Component: WebRTCAssignee: David Kilzer (:ddkilzer) <ddkilzer>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer, youennf
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 246141    
Bug Blocks:    

Description David Kilzer (:ddkilzer) 2023-05-07 12:16:51 PDT
Fix false-positive bad release after calling H264BufferToCMSampleBuffer() and H265BufferToCMSampleBuffer().

Both of these methods return +1 retained CMSampleBufferRef objects, but are not instrumented with CF_RETURNS_RETAINED, so the clang static analyzer flags in the -decodeData:size:timeStamp: methods of RTCVideoDecoderH264 and RTCVideoDecoderH265.
Comment 1 Radar WebKit Bug Importer 2023-05-07 12:17:11 PDT
<rdar://problem/109014853>
Comment 2 David Kilzer (:ddkilzer) 2023-05-07 12:26:36 PDT
Caused by:

    Add support for AVC H264 WebCodecsVideoDecoder
    <https://bugs.webkit.org/show_bug.cgi?id=246141>
    <rdar://problem/100844377>
    <https://commits.webkit.org/255422@main>
Comment 3 David Kilzer (:ddkilzer) 2023-05-07 12:28:29 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13551
Comment 4 EWS 2023-05-08 06:48:32 PDT
Committed 263800@main (3163f4a6e89a): <https://commits.webkit.org/263800@main>

Reviewed commits have been landed. Closing PR #13551 and removing active labels.