Skip to content

Commit

Permalink
avcodec/cbs_jpeg: Check length for SOS
Browse files Browse the repository at this point in the history
Fixes: out of array access
Fixes: 19734/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5673507031875584
Fixes: 19353/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5703944462663680

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
  • Loading branch information
michaelni committed Mar 11, 2020
1 parent 0a11ef6 commit 1812352
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions libavcodec/cbs_jpeg.c
Expand Up @@ -197,6 +197,9 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
if (marker == JPEG_MARKER_SOS) {
length = AV_RB16(frag->data + start);

if (length > end - start)
return AVERROR_INVALIDDATA;

data_ref = NULL;
data = av_malloc(end - start +
AV_INPUT_BUFFER_PADDING_SIZE);
Expand Down

0 comments on commit 1812352

Please sign in to comment.