diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 0d97b3aade..1bae523c2a 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -1556,7 +1556,8 @@ static int mxf_read_indirect_value(void *arg, AVIOContext *pb, int size) if (size <= 17) return 0; - avio_read(pb, key, 17); + if (avio_read(pb, key, 17) != 17) + return AVERROR_INVALIDDATA; /* TODO: handle other types of of indirect values */ if (memcmp(key, mxf_indirect_value_utf16le, 17) == 0) { return mxf_read_utf16le_string(pb, size - 17, &tagged_value->value);