ffmpeg-5/ffmpeg-4.4-CVE-2020-22046.patch

27 lines
772 B
Diff
Raw Normal View History

From 097c917c147661f5378dae8fe3f7e46f43236426 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Date: Thu, 17 Oct 2019 11:11:55 +0200
Subject: [PATCH] avcodec/ac3enc: Fix memleak
Fixes ticket #8294.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
---
libavcodec/ac3enc.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Accepting request 1080435 from home:iznogood:branches:multimedia:libs - Update to version 5.1.3: * avcodec/012v: Order operations for odd size handling * avcodec/alsdec: - Check bits left before block decoding in non multi channel coding loop - The minimal block is at least 7 bits * avcodec/atrac3plus: reorder channels to match the output layout * avcodec/audiotoolboxenc: return AVERROR_EXTERNAL immediately when encode error * avcodec/bink: - Avoid undefined out of array end pointers in binkb_decode_plane() - Fix off by 1 error in ref end * avcodec/eac3dec: avoid float noise in fixed mode addition to overflow * avcodec/eatgq: : Check index increments in tgq_decode_block() * avcodec/escape124: - Fix signdness of end of input check - Fix some return codes * avcodec/ffv1dec: - Check that num h/v slices is supported - Fail earlier if prior context is corrupted * avcodec/ffv1dec: restructure slice coordinate reading a bit * avcodec/h274: fix include * avcodec/libjxldec: - Fix gamma22 and gamma28 recognition - Avoid hard failure with unspecified primaries * avcodec/mjpegenc: take into account component count when writing the SOF header size * avcodec/mlpdec: Check max matrix instead of max channel in noise check * avcodec/motionpixels: Mask pixels to valid values * avcodec/mpeg12dec: - Check input size - Use init_get_bits8 and check the return value * avcodec/nvenc: fix vbv buffer size in cq mode * avcodec/pictordec: Remove mid exit branch * avcodec/pngdec: - Check deloco index more exactly - Dont skip/read chunk twice * avcodec/rpzaenc: stop accessing out of bounds frame * avcodec/scpr3: Check bx * avcodec/scpr: Test bx before use * avcodec/smcenc: stop accessing out of bounds frame * avcodec/snowenc: Fix visual weight calculation * avcodec/speedhq: Check buf_size to be big enough for DC * avcodec/speexdec: Check channels > 2 * avcodec/sunrast: Fix maplength check * avcodec/tests/snowenc: - Fix 2nd test - Return a failure if DWT/IDWT mismatches - Unbreak DWT tests * avcodec/tiff: Ignore tile_count * avcodec/utils: - Allocate a line more for VC1 and WMV3 - Ensure linesize for SVQ3 - Use 32pixel alignment for bink * avcodec/videodsp_template: Adjust pointers to avoid undefined pointer things * avcodec/wavpack: - Avoid undefined shift in get_tail() - Check for end of input in wv_unpack_dsd_high() * avcodec/xpmdec: Check size before allocation to avoid truncation * avcodec/aacdec: fix parsing streams with channel configuration 11 * avformat/id3v2: Check taglen in read_uslt() * avformat/mov: Check samplesize and offset to avoid integer overflow * avformat/mxfdec: Use 64bit in remainder * avformat/replaygain: avoid undefined / negative abs * avformat/vividas: Check packet size * avutil/tx: Use unsigned in ff_tx_fft_sr_combine() to avoid undefined behavior * hwcontext_vulkan: remove optional encode/decode extensions from the list * lavf/async: Fix ring_write return value * lavu/vulkan: fix handle type for 32-bit targets * libswscale: force a minimum size of the slide for bayer sources * swscale/input: Use more unsigned intermediates * swscale/output: - Bias 16bps output calculations to improve non overflowing range - Bias 16bps output calculations to improve non overflowing range for GBRP16/GBRPF32 * swscale: aarch64: Fix yuv2rgb with negative strides * Use https for repository links * vulkan: Fix win/i386 calling convention - Rebase patches with quilt. - Drop ffmpeg-CVE-2022-3964.patch: Fixed upstream. - Drop no-vk-video-decoding.patch: Upstream removed this optional code. - Use ldconfig_scriptlets macro. OBS-URL: https://build.opensuse.org/request/show/1080435 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=67
2023-04-20 00:08:37 +02:00
Index: ffmpeg-5.1.3/libavcodec/ac3enc.c
===================================================================
Accepting request 1080435 from home:iznogood:branches:multimedia:libs - Update to version 5.1.3: * avcodec/012v: Order operations for odd size handling * avcodec/alsdec: - Check bits left before block decoding in non multi channel coding loop - The minimal block is at least 7 bits * avcodec/atrac3plus: reorder channels to match the output layout * avcodec/audiotoolboxenc: return AVERROR_EXTERNAL immediately when encode error * avcodec/bink: - Avoid undefined out of array end pointers in binkb_decode_plane() - Fix off by 1 error in ref end * avcodec/eac3dec: avoid float noise in fixed mode addition to overflow * avcodec/eatgq: : Check index increments in tgq_decode_block() * avcodec/escape124: - Fix signdness of end of input check - Fix some return codes * avcodec/ffv1dec: - Check that num h/v slices is supported - Fail earlier if prior context is corrupted * avcodec/ffv1dec: restructure slice coordinate reading a bit * avcodec/h274: fix include * avcodec/libjxldec: - Fix gamma22 and gamma28 recognition - Avoid hard failure with unspecified primaries * avcodec/mjpegenc: take into account component count when writing the SOF header size * avcodec/mlpdec: Check max matrix instead of max channel in noise check * avcodec/motionpixels: Mask pixels to valid values * avcodec/mpeg12dec: - Check input size - Use init_get_bits8 and check the return value * avcodec/nvenc: fix vbv buffer size in cq mode * avcodec/pictordec: Remove mid exit branch * avcodec/pngdec: - Check deloco index more exactly - Dont skip/read chunk twice * avcodec/rpzaenc: stop accessing out of bounds frame * avcodec/scpr3: Check bx * avcodec/scpr: Test bx before use * avcodec/smcenc: stop accessing out of bounds frame * avcodec/snowenc: Fix visual weight calculation * avcodec/speedhq: Check buf_size to be big enough for DC * avcodec/speexdec: Check channels > 2 * avcodec/sunrast: Fix maplength check * avcodec/tests/snowenc: - Fix 2nd test - Return a failure if DWT/IDWT mismatches - Unbreak DWT tests * avcodec/tiff: Ignore tile_count * avcodec/utils: - Allocate a line more for VC1 and WMV3 - Ensure linesize for SVQ3 - Use 32pixel alignment for bink * avcodec/videodsp_template: Adjust pointers to avoid undefined pointer things * avcodec/wavpack: - Avoid undefined shift in get_tail() - Check for end of input in wv_unpack_dsd_high() * avcodec/xpmdec: Check size before allocation to avoid truncation * avcodec/aacdec: fix parsing streams with channel configuration 11 * avformat/id3v2: Check taglen in read_uslt() * avformat/mov: Check samplesize and offset to avoid integer overflow * avformat/mxfdec: Use 64bit in remainder * avformat/replaygain: avoid undefined / negative abs * avformat/vividas: Check packet size * avutil/tx: Use unsigned in ff_tx_fft_sr_combine() to avoid undefined behavior * hwcontext_vulkan: remove optional encode/decode extensions from the list * lavf/async: Fix ring_write return value * lavu/vulkan: fix handle type for 32-bit targets * libswscale: force a minimum size of the slide for bayer sources * swscale/input: Use more unsigned intermediates * swscale/output: - Bias 16bps output calculations to improve non overflowing range - Bias 16bps output calculations to improve non overflowing range for GBRP16/GBRPF32 * swscale: aarch64: Fix yuv2rgb with negative strides * Use https for repository links * vulkan: Fix win/i386 calling convention - Rebase patches with quilt. - Drop ffmpeg-CVE-2022-3964.patch: Fixed upstream. - Drop no-vk-video-decoding.patch: Upstream removed this optional code. - Use ldconfig_scriptlets macro. OBS-URL: https://build.opensuse.org/request/show/1080435 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-5?expand=0&rev=67
2023-04-20 00:08:37 +02:00
--- ffmpeg-5.1.3.orig/libavcodec/ac3enc.c
+++ ffmpeg-5.1.3/libavcodec/ac3enc.c
@@ -2204,7 +2204,8 @@ av_cold int ff_ac3_encode_close(AVCodecC
av_freep(&block->cpl_coord_mant);
}
- s->mdct_end(s);
+ if (s->mdct_end)
+ s->mdct_end(s);
return 0;
}