diff options
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/avidec.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c index df78925d55..e3cd844169 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -306,8 +306,10 @@ static int avi_read_tag(AVFormatContext *s, AVStream *st, uint32_t tag, value = av_malloc(size + 1); if (!value) return AVERROR(ENOMEM); - if (avio_read(pb, value, size) != size) + if (avio_read(pb, value, size) != size) { + av_freep(&value); return AVERROR_INVALIDDATA; + } value[size] = 0; AV_WL32(key, tag); |