diff options
Diffstat (limited to 'meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch')
-rw-r--r-- | meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch deleted file mode 100644 index 6b96bd674f..0000000000 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2020-35964.patch +++ /dev/null @@ -1,75 +0,0 @@ -From 27a99e2c7d450fef15594671eef4465c8a166bd7 Mon Sep 17 00:00:00 2001 -From: Michael Niedermayer <michael@niedermayer.cc> -Date: Wed, 28 Oct 2020 20:11:54 +0100 -Subject: [PATCH] avformat/vividas: improve extradata packing checks in - track_header() - -Fixes: out of array accesses -Fixes: 26622/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVIDAS_fuzzer-6581200338288640 - -Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg -Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> - -Upstream-Status: Backport [https://github.com/FFmpeg/FFmpeg/commit/27a99e2c7d450fef15594671eef4465c8a166bd7] - -CVE: CVE-2020-35964 - -Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> -Signed-off-by: Khairul Rohaizzat Jamaluddin <khairul.rohaizzat.jamaluddin@intel.com> ---- - libavformat/vividas.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/libavformat/vividas.c b/libavformat/vividas.c -index 83d0ed116787..46c66bf9a0ae 100644 ---- a/libavformat/vividas.c -+++ b/libavformat/vividas.c -@@ -28,6 +28,7 @@ - * @sa http://wiki.multimedia.cx/index.php?title=Vividas_VIV - */ - -+#include "libavutil/avassert.h" - #include "libavutil/intreadwrite.h" - #include "avio_internal.h" - #include "avformat.h" -@@ -379,7 +380,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * - - if (avio_tell(pb) < off) { - int num_data; -- int xd_size = 0; -+ int xd_size = 1; - int data_len[256]; - int offset = 1; - uint8_t *p; -@@ -393,10 +394,10 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * - return AVERROR_INVALIDDATA; - } - data_len[j] = len; -- xd_size += len; -+ xd_size += len + 1 + len/255; - } - -- ret = ff_alloc_extradata(st->codecpar, 64 + xd_size + xd_size / 255); -+ ret = ff_alloc_extradata(st->codecpar, xd_size); - if (ret < 0) - return ret; - -@@ -405,9 +406,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * - - for (j = 0; j < num_data - 1; j++) { - unsigned delta = av_xiphlacing(&p[offset], data_len[j]); -- if (delta > data_len[j]) { -- return AVERROR_INVALIDDATA; -- } -+ av_assert0(delta <= xd_size - offset); - offset += delta; - } - -@@ -418,6 +417,7 @@ static int track_header(VividasDemuxContext *viv, AVFormatContext *s, uint8_t * - av_freep(&st->codecpar->extradata); - break; - } -+ av_assert0(data_len[j] <= xd_size - offset); - offset += data_len[j]; - } - |