Commit Graph

125423 Commits

Author SHA1 Message Date
James Almer
c78ba95dfc avcodec/bsf/eac3_core: clear profile value on init()
The output stream no longer has Atmos metadata, so the
AV_PROFILE_EAC3_DDP_ATMOS profile, if it was set, is no longer valid.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit c77c0e580a)
2026-07-30 21:45:43 -03:00
almogyalin
8d7f63675c avformat/iamf_parse: fix inverted subblock duration validation
The check on variable subblock durations had an inverted comparison, rejecting valid multi-subblock parameters and failing to catch subblock durations exceeding the remaining time.

(cherry picked from commit 1635b49b80402c8cec39eefb12f35e2ee7c13606)
2026-07-29 21:10:58 +00:00
James Almer
6e85193417 avcodec/get_buffer: use frame pixel format instead of context
The documentation for get_buffer2() states:

"This callback must use the frame values, not the codec context values, to
calculate the required buffer size."

Fixes wrong output on hbd LCEVC enhanced samples where the base stream is
8bit.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit e1c1b6c558)
2026-07-23 17:22:02 +00:00
James Almer
af3779401a avformat/lcevc: add a log context parameter to all functions
Printing to NULL should be avoided when possible.

Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit b3d4ce20a4)
2026-07-23 13:58:00 -03:00
Leo Izen
5185caaeb8 avcodec/pngenc: fix overrun caused by exif size discrepancy
If the estimated EXIF size based on the attached frame data is lower
than the actual EXIF size after sanitizing the IFD, then an overrun
might occur. Instead, we parse the IFD and use the parsed size as the
estimated exif size so there won't be any discrepancy between the two
values.

Signed-off-by: Leo Izen <leo.izen@gmail.com>
Reported-by: Adrian Junge <adjun37@gmail.com>
(cherry picked from commit b506fafec9)
2026-07-21 22:20:05 +00:00
Omkhar Arasaratnam
f8051f532c avformat/tls_mbedtls: check the certificate verification result in tls_handshake()
tls_mbedtls verifies the peer certificate manually via
mbedtls_ssl_get_verify_result() (it uses MBEDTLS_SSL_VERIFY_OPTIONAL), but
only in tls_open(). On the external-socket path (external_sock=1) tls_open()
skips the handshake; it then runs later through the url_handshake hook,
tls_handshake(), which never checks the verification result, so with verify=1
an untrusted peer certificate would be accepted.

The only in-tree user of this path is the WHIP muxer, which sets verify=0
(WebRTC binds the peer via the SDP a=fingerprint, not a CA), so this is not
reachable today. This change is defence-in-depth: it makes tls_handshake()
honor verify symmetrically with the existing tls_open() check.

Signed-off-by: Omkhar Arasaratnam <omkhar@linkedin.com>
(cherry picked from commit b96701098f)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 23:00:00 +02:00
Michael Niedermayer
1b8b99dd45 avformat/mov: avoid overflow/negative discard sample duration
This also fixes a corner case with st->duration = INT64_MAX

This assumes pkt->duration >= 0

Fixes: 525566001/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5952332261818368
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 6d300b4732)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 23:00:00 +02:00
Thomas Guilbert
3b92cd5fa9 Guard against int overflow when discarding samples
In `discard_samples()`, the rescaling operation can evaluate to
AV_NOPTS_VALUE if the rescaling operation overflows. This commit
prevents adjusting timestamp and durations by the invalid value.

(cherry picked from commit 005e963c85)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 23:00:00 +02:00
Michael Niedermayer
03e6259254 avformat/concatdec: Check recursion depth
This variant is easy backportable but is concatdec specific

Fixes: self_ref.ffconcat
Reported-by: Yuhao Jiang <danisjiang@gmail.com>
Rediscovered-by: Anxious Koisi
Fixes: RWHkT0ASFMNI
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 58d39e99e2)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:59 +02:00
Michael Niedermayer
d6db779950 avcodec/hevc: Fix integer overflow in WPP entry point range check
Fixes: out of array access
Fixes: poc.hevc / make_poc.py
Fixes: 83WY4xnR87vb
Fixes: dad354f38d (avcodec/hevc: Check max ctb addresses for WPP)
Found-by: VulnForge Security Research Team <haoyuliu@clouditera.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit ba55f425fd)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:59 +02:00
Michael Niedermayer
52f7983f15 avformat/ty: don't let the Series2 AC3 trim underflow the packet size
Fixes: negative-size-param
Fixes: ty-s2-ac3-negative-size-single-file.ffconcat / create_poc.py
Fixes: g0qeE6KvrjZi
Found-by: Adrian Junge (vurlo)
(cherry picked from commit de771bd527)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:59 +02:00
Michael Niedermayer
b3c7ebc1ed avfilter/vf_swaprect: size the temp row buffer for the widest plane
Fixes: out of array access
Fixes: 7aj_swaprect_odd17_nv12.nut / 7aj_generate_swaprect_odd17_nv12.py
Fixes: VRAXYvKtmKa8
Found-by: Adrian Junge (vurlo) <adjun37@gmail.com>
(cherry picked from commit a7e38b617b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:59 +02:00
Michael Niedermayer
30a52276f9 avfilter/vf_floodfill: remove unneeded variables
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit f186c50cf5)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:59 +02:00
Michael Niedermayer
a20608d325 avfilter/vf_floodfill: size the point stack for the current frame
Fixes: out of array access
Fixes: 8aj_floodfill_dynamic_size.pgm / 8aj_generate_floodfill_dynamic_size_pgm.py
Fixes: 3MleMXjGZvu3
Found-by: Adrian Junge (vurlo) <adjun37@gmail.com>
(cherry picked from commit 24c322fdb2)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Michael Niedermayer
989444060d avfilter/vf_lut3d: compute size2 after the 3DLUTSIZE directive
Fixes: out of array access
Fixes: lut3d_poc/poc_3dlut2.dat
Fixes: 6p0ahHBxreqG
Found-by: SecBuddyF - Tencent KeenLab
(cherry picked from commit 0089694c06)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Michael Niedermayer
e91540f76f doc/developer.texi: update reviews section
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 01a9a98f35)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Michael Niedermayer
96100b4308 doc/infra.txt: add fairy
(cherry picked from commit 0c29cabc97)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Cloud-LHY
3b85fbe890 avcodec/tdsc: unref the reference frame before reallocating on size change
Fixes: out of array access
Fixes: tdsc_poc/ffmpeg-tdsc-linesize-report/poc.avi / gen_poc.py
Fixes: tdsc_resize_jpeg_oob.avi / tdsc-resize-stale-linesize-jpeg-oob-generate-poc.py
Fixes: p9xG4xGf9P7H
Fixes: HQL7a1WgTdHZ
Found-by: Cloud-LHY / Clouditera Security, Z.ai Security, NSFOCUS
Found-by: Adrian Junge (vurlo)
(cherry picked from commit fd3ee52fab)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Michael Niedermayer
e596a3302a avcodec/cavsdec: reject invalid start-code bitreader sizes
Fixes: NULL pointer dereference
Fixes: 4jy_poc_cavs.zip / poc_cavs.avi
Fixes: UH66Y8Om9F8X
Found-by: Jiale Yao <yaojiale02@163.com>
(cherry picked from commit 9c2aabaa34)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:58 +02:00
Jiale Yao
bd2541b8da avcodec/libcodec2: reject packet sample counts that overflow int
Fixes: out of array access
Fixes: 2jy_poc_codec2.zip / poc_codec2.raw
Fixes: jOQASNnOm6O7
Found-by: Jiale Yao <yaojiale02@163.com>
(cherry picked from commit 705ff11c2b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:57 +02:00
Michael Niedermayer
789d7b1b1d avcodec/ffv1dec: mask the fltmap index on the 8bit remap path
Fixes: out of array access
Fixes: ffv1_poc/test_ffv1_8bit_v4.avi
Fixes: 6p0ahHBxreqG
Found-by: SecBuddyF - Tencent KeenLab
(cherry picked from commit ed4f286a10)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:57 +02:00
Michael Niedermayer
c21583c4ba avcodec/vorbisdec: skip the MDCT for unused channels
Fixes: Timeout
Fixes: 490144337/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VORBIS_DEC_fuzzer-4539724776931328
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
(cherry picked from commit 7a39c205ae)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:57 +02:00
Michael Niedermayer
1eb17d8ac0 avcodec/exr: bound total decoded pixels by max_pixels
Use the maximum block dimensions decode_block() can assign after clipping
the nominal tile or scanline block to the data window.

Fixes: Timeout
Fixes: 521392254/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_EXR_DEC_fuzzer-6740984590565376
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 206f2d92db)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:57 +02:00
Jun Zhao
39809968eb avformat/utils: fix ff_mkdir_p() swallowing intermediate mkdir errors
When creating nested directories (e.g. /a/b/c), a genuine mkdir()
failure for an intermediate component was overwritten by later
attempts, making the original failure harder to diagnose.

Stop immediately on intermediate errors other than EEXIST, preserving
errno for the caller. Existing path components remain non-fatal, as
required by mkdir -p semantics. Add a regression test for creating a
child below an existing parent directory.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
(cherry picked from commit a6ed750664)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:57 +02:00
Michael Niedermayer
76398b2b4f avcodec/bsf/dts2pts: evict unconsumable nodes from the poc tree
Each pending packet consumes up to poc_diff tree nodes when it is
output, so the packets in the FIFO can consume at most nb_pending nodes
in total. Frames whose tree lookup misses on output leave their nodes
behind, and damaged or crafted streams can make that happen
indefinitely, growing the tree without limit.

Track the node count and insertion order, keep the leftovers of up to
MAX_DAMAGED_FRAMES frames and beyond that evict the nodes unconsumed
the longest. Timestamps of valid frames are unaffected unless more
frames than that are damaged. No eviction is done at EOF, where nodes
are deliberately kept to regenerate timestamps from.

Of all h264/hevc conformance samples only MR3_TANDBERG_B.264 triggers
evictions, and no sample changes output.

Fixes: unbounded memory growth with damaged streams

Co-Authored-By: Fable-5
(cherry picked from commit dd941af8ac)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Michael Niedermayer
1f37509a06 avcodec/bsf/dts2pts: fix removal of 2nd field nodes
alloc_and_insert_node() inserts the nodes for 2nd fields with
duration / poc_diff added to the timestamp, but the removal loop
compared all nodes of a frame against the unadjusted first timestamp,
so 2nd field nodes never matched and stayed in the tree until close.
Advance the compared timestamp the same way the insertion does.

Fixes: tree nodes leaking on every field coded frame

Co-Authored-By: Fable-5
(cherry picked from commit 4133db39b2)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Michael Niedermayer
713ad3f3b1 avcodec/bsf/dts2pts: chain same-gop nodes instead of collecting into a fixed array
hevc_queue_frame() collected all tree nodes of the current gop into a
fixed nodes[HEVC_MAX_DPB_SIZE * 2] array and asserted the count stayed
within it. For a crafted HEVC stream the tree can hold slightly more
same-gop nodes than that estimate (observed 34 vs 32), tripping the
av_assert0 and aborting. Link the matching nodes into a list through a
next pointer in the node instead; this has no size limit and needs
neither extra passes nor allocation.

Fixes: assertion failure
Fixes: 519466146/clusterfuzz-testcase-minimized-ffmpeg_BSF_DTS2PTS_fuzzer-5238235193475072
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg

Co-Authored-By: Fable-5
(cherry picked from commit 501d8eb62d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Frank Plowman
60892bbbb9 lavc/hevc: Always generate missing refs for foll pictures
Since bc1a3bfd2c, missing reference
pictures are not replaced with generated pictures unless `-flags
show_corrupt` is used.  For `ST_FOLL`/`LT_FOLL` reference pictures,
however, generation of missing references is required by the spec per
8.3.3.  We should not require the `show_corrupt` flag to be used in
order to be spec-conformant, so this patch removes the `show_corrupt`
behaviour added in bc1a3bfd2c for
`ST_FOLL`/`LT_FOLL` references and instead unconditionally generates
reference pictures in these sets when unavailable

Fixes: NUT_A_ericsson_5
Fixes: RPS_D_ericsson_6
(cherry picked from commit 265d39e551)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Michael Niedermayer
a303fb0459 avcodec/mjpegdec: reject redundant scans of a sequential image
Fixes: Timeout
Fixes: 527085539/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AMV_DEC_fuzzer-6502692927897600
Fixes: 523663551/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MJPEG_DEC_fuzzer-5493410811936768
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a7c116b536)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Michael Niedermayer
7bd23e2cb2 avcodec/mjpegdec: reject flipping of bayer images
Fixes: assertion failure
Fixes: 523522308/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_DEC_fuzzer-4771843818192896
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 40ce1513c6)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:56 +02:00
Michael Niedermayer
e18d1b7972 avcodec/tdsc: reject out-of-frame cursor position
Fixes: signed integer overflow
Fixes: 519649309/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TDSC_fuzzer-6322382028734464
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
(cherry picked from commit 8de8405796)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:55 +02:00
Michael Niedermayer
27f503c90e avformat/spdif: fix reading past the buffer when probing AAC in IEC 61937
Fixes: read of uninitialized memory
Fixes: 528525234/clusterfuzz-testcase-minimized-ffmpeg_dem_W64_fuzzer-6429204661731328
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
(cherry picked from commit 15bbf3a21d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:55 +02:00
Michael Niedermayer
e6bcc30dcd avfilter/vf_v360: keep remap source coordinates in bounds
Two runtime paths could compute out-of-range source coordinates for
degenerate projection geometry, causing heap-buffer-overflow reads

Fixes: out of array read
Fixes: assertion failure
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a73d648f6e)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:55 +02:00
Michael Niedermayer
85d7bb2280 avfilter/vf_v360: reject dimensions too small for the projection
Fixes: out of array read
Fixes: assertion failure
Fixes: mQzloVqnivHQ
Found-by: Anthony Hurtado
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit b3712addc9)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:55 +02:00
Michael Niedermayer
ac507eac63 avcodec/lzf: pad the decompressed buffer
Fixes: out of array read
Fixes: oddlist.mov / poc.mov
Found-by: Clouditera Security; Z.ai Security; NSFOCUS
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit fe47696aa1)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:55 +02:00
Michael Niedermayer
89f146e6db avcodec/jpeg2000dec: avoid signed overflow in ROI shift
Fixes: 522402419/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_DEC_fuzzer-5987463315914752
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 90a285ca78)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Michael Niedermayer
bf316c1535 avcodec/hevc/ps: avoid signed overflow reading act qp offsets
Fixes: 523734452/clusterfuzz-testcase-minimized-ffmpeg_dem_HEVC_fuzzer-5246801451220992
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c5150ad48b)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Michael Niedermayer
8ce7d391aa avcodec/vvc/dec: fix pixel buffer tab leak on chroma format change
Fixes: memleak
Fixes: 518575619/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VVC_fuzzer-5161396783611904
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
(cherry picked from commit a41f543113)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Michael Niedermayer
d7abdc8c85 avcodec/vvc/dec: merge the SAO and ALF pixel buffer tab loops
Both loops iterate over the same components and compute the same
per-component width and height. The order of tabs within a TabList
does not matter, so build all pixel buffer tabs in a single loop.

(cherry picked from commit df2649ffb1)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Michael Niedermayer
9d5704e4d9 avformat/hls_sample_encryption: Validate ADTS frame length against packet
Fixes: out of array access
Fixes: playlist.m3u8 / make_poc.py
Fixes: rJ50u41V7ctk
Fixes: ff958b3846 (libavformat/hls: add support for decryption of HLS media segments encrypted using SAMPLE-AES encryption method)
Found-by: Clouditera Security Research Team <haoyuliu@clouditera.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 976490dcc3)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Michael Niedermayer
6727eb54e8 avformat/iff: reject invalid data_size in ANIM
Fixes: 520277418/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-6733106211258368
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 14604ec4b7)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:54 +02:00
Kacper Michajłow
0e6eef3551 avformat/hls: reject Master Playlist tags in a Media Playlist
Fixes infinite loop on crafted HLS playlists.

Fixes: recursion.m3u8
Fixes: cEy2cxyyPaLH
Fixes: cd223e0b4e (Add Apple HTTP Live Streaming demuxer)
Found-by: BapToutatis
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
(cherry picked from commit c364ab176f)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:53 +02:00
Omkhar Arasaratnam
1f51b7b87f avformat/mov: bound the iref thmb/cdsc entry count by the sub-box size
Fixes: excessive parsing past the iref sub-box
Fixes: TMwMAJfgy3l9
Fixes: 74e430202d (avformat/mov: make items referencing items generic)
Found-by: Omkhar Arasaratnam
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit dcc18b6077)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:53 +02:00
Michael Niedermayer
7c0b8c8594 avcodec/lcldec: zero the not-decoded tail to avoid heap disclosure
Fixes: use of uninitialized memory
Fixes: CsNDKB1K1U0C
Fixes: e2c3aa8e2b (avcodec/lcldec: More space for rgb24)
Found-by: Adrian Junge (vurlo)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit e7cbfd1c50)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:53 +02:00
Michael Niedermayer
c20d78c683 avfilter/vf_quirc: resize the quirc buffers when the input size changes
Fixes: out of array access
Fixes: JbvzNObhorBp
Fixes: 030e140145 (lavfi: add quirc filter)
Found-by: Adrian Junge (vurlo)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4da9812e25)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:53 +02:00
Michael Niedermayer
97e169f6ce swscale/output: avoid signed overflow in yuv2rgb_write_full luma scaling
Fixes: 523522305/clusterfuzz-testcase-minimized-ffmpeg_SWS_fuzzer-4574409678716928
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
(cherry picked from commit f50e22c68d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:53 +02:00
Michael Niedermayer
eac6965d9c avformat/wavdec: fix integer overflow in W64 chunk size check
Fixes: 523658585/clusterfuzz-testcase-minimized-ffmpeg_dem_W64_fuzzer-5454488994643968
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 3b28a08a32)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:52 +02:00
Michael Niedermayer
3d5ad47c40 avcodec/nvdec: don't double free the fdd-owned context on the sep_ref error path
Fixes: double free
Fixes: rpSz7v3yq2u8
Fixes: 72982f8cb5 (avcodec/nvdec: add support for separate reference frame)
Found-by: Pavel Kohout (Aisle Research)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 4c6217477f)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:52 +02:00
Pavel Kohout
bd108f4026 avformat/imfdec: check for a missing or empty Path in the asset map
Fixes: NULL pointer dereference
Fixes: vIIX7oqa3coO
Fixes: 73f6cce936 (avformat/imf: Demuxer)
Found-by: Pavel Kohout (Aisle Research)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 0fe4bd4b43)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:52 +02:00
Pavel Kohout
aba17b5dc3 avformat/imfdec: reject virtual tracks with no resources
Fixes: NULL pointer dereference
Fixes: kia6rom3mZdr
Fixes: 73f6cce936 (avformat/imf: Demuxer)
Found-by: Pavel Kohout (Aisle Research)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit a76190152d)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2026-07-21 22:59:52 +02:00