aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2019-07-13 19:57:21 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2019-08-04 21:16:28 +0200
commitc9322598f4e9d45d5a1c2451e056c428213907b6 (patch)
treea52a921eb64442aaa7d91ff10db8ba99cea68a34 /libavformat
parent4f57240859fbcfb4de4303c7643776bb1b566c46 (diff)
downloadffmpeg-c9322598f4e9d45d5a1c2451e056c428213907b6.tar.gz
avformat/vividas: Check buffer size before allocation
Fixes: out of array access Fixes: 15365/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5716153105645568 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 c3ef24d9baf63f8c8794dfb2ef7192a64b586526) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/vividas.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/vividas.c b/libavformat/vividas.c
index c0d39f0a6f..184d24f374 100644
--- a/libavformat/vividas.c
+++ b/libavformat/vividas.c
@@ -251,6 +251,9 @@ static uint8_t *read_sb_block(AVIOContext *src, unsigned *size,
*key = tmpkey;
}
+ if (n < 8)
+ return NULL;
+
buf = av_malloc(n);
if (!buf)
return NULL;