summaryrefslogtreecommitdiff
path: root/libavcodec/jpeg2000dec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-05-31 12:49:50 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2020-06-01 23:32:28 +0200
commit4b2248594c7faf1530c43e662c4b80655240b269 (patch)
tree3367350103db262b55d11039c72a3eb4fb0df4d3 /libavcodec/jpeg2000dec.c
parent01fd93e2aca48af5e615595dc92b8a3b467ea544 (diff)
avcodec/jpeg2000dec: clear pointer which become stale in get_ppt()
Fixes: use after free Fixes: 22484/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5671488765296640 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Gautam Ramakrishnan <gautamramk@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/jpeg2000dec.c')
-rw-r--r--libavcodec/jpeg2000dec.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/jpeg2000dec.c b/libavcodec/jpeg2000dec.c
index 65555424ed..b7766459c4 100644
--- a/libavcodec/jpeg2000dec.c
+++ b/libavcodec/jpeg2000dec.c
@@ -928,6 +928,7 @@ static int get_ppt(Jpeg2000DecoderContext *s, int n)
tile->packed_headers = new;
} else
return AVERROR(ENOMEM);
+ memset(&tile->packed_headers_stream, 0, sizeof(tile->packed_headers_stream));
memcpy(tile->packed_headers + tile->packed_headers_size,
s->g.buffer, n - 3);
tile->packed_headers_size += n - 3;