mirror of https://git.ffmpeg.org/ffmpeg.git
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>
This commit is contained in:
parent
614fc179d6
commit
838105153a
|
@ -197,6 +197,9 @@ static int cbs_jpeg_split_fragment(CodedBitstreamContext *ctx,
|
||||||
if (marker == JPEG_MARKER_SOS) {
|
if (marker == JPEG_MARKER_SOS) {
|
||||||
length = AV_RB16(frag->data + start);
|
length = AV_RB16(frag->data + start);
|
||||||
|
|
||||||
|
if (length > end - start)
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
|
||||||
data_ref = NULL;
|
data_ref = NULL;
|
||||||
data = av_malloc(end - start +
|
data = av_malloc(end - start +
|
||||||
AV_INPUT_BUFFER_PADDING_SIZE);
|
AV_INPUT_BUFFER_PADDING_SIZE);
|
||||||
|
|
Loading…
Reference in New Issue