Browse Source

avcodec/cbs_jpeg: Check length for SOS

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>
(cherry picked from commit 1812352d76)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n4.2.3
Michael Niedermayer 6 years ago
parent
commit
838105153a
1 changed files with 3 additions and 0 deletions
  1. +3
    -0
      libavcodec/cbs_jpeg.c

+ 3
- 0
libavcodec/cbs_jpeg.c View File

@@ -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);


Loading…
Cancel
Save