summaryrefslogtreecommitdiff
path: root/libavcodec/dump_extradata_bsf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavcodec/dump_extradata_bsf.c')
-rw-r--r--libavcodec/dump_extradata_bsf.c4
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;