diff options
Diffstat (limited to 'libavcodec/dump_extradata_bsf.c')
-rw-r--r-- | libavcodec/dump_extradata_bsf.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/dump_extradata_bsf.c b/libavcodec/dump_extradata_bsf.c index 7112cd6bd4..b641508234 100644 --- a/libavcodec/dump_extradata_bsf.c +++ b/libavcodec/dump_extradata_bsf.c @@ -50,7 +50,9 @@ static int dump_extradata(AVBSFContext *ctx, AVPacket *out) if (ctx->par_in->extradata && (s->freq == DUMP_FREQ_ALL || - (s->freq == DUMP_FREQ_KEYFRAME && in->flags & AV_PKT_FLAG_KEY))) { + (s->freq == DUMP_FREQ_KEYFRAME && in->flags & AV_PKT_FLAG_KEY)) && + in->size >= ctx->par_in->extradata_size && + memcmp(in->data, ctx->par_in->extradata, ctx->par_in->extradata_size)) { if (in->size >= INT_MAX - ctx->par_in->extradata_size) { ret = AVERROR(ERANGE); goto fail; |