aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2018-09-27 00:00:26 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2018-10-07 21:34:01 +0200
commiteb495b20e51fb7a5a02ca3004fd5a8ea359592f4 (patch)
tree040921a2157f3bc5a36445ea828273a77241b77d /libavformat
parent7f521fae2b1f8807cd155b97d5778085041ae5e2 (diff)
downloadffmpeg-eb495b20e51fb7a5a02ca3004fd5a8ea359592f4.tar.gz
avformat/utils: Fix potential integer overflow in extract_extradata()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 0a41a8bf2945e59db7a0773ebce11a26b95d45b6) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/utils.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index c25eab4d49..685fdb9b76 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3542,7 +3542,9 @@ static int extract_extradata(AVStream *st, AVPacket *pkt)
&extradata_size);
if (extradata) {
- i->avctx->extradata = av_mallocz(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
+ av_assert0(!i->avctx->extradata);
+ if ((unsigned)extradata_size < FF_MAX_EXTRADATA_SIZE)
+ i->avctx->extradata = av_mallocz(extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
if (!i->avctx->extradata) {
av_packet_unref(pkt_ref);
return AVERROR(ENOMEM);