From 2779d33ed99898675e0b3884fabe1ce6839f36d1 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 25 Nov 2017 19:22:51 +0100 Subject: avformat/aacdec: Fix leak in adts_aac_read_packet() Fixes: chromium-773637/clusterfuzz-testcase-minimized-6418078673141760 Found-by: ossfuzz/chromium Reviewed-by: James Almer Signed-off-by: Michael Niedermayer --- libavformat/aacdec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libavformat/aacdec.c') diff --git a/libavformat/aacdec.c b/libavformat/aacdec.c index 364b33404f..36d558ff54 100644 --- a/libavformat/aacdec.c +++ b/libavformat/aacdec.c @@ -139,7 +139,11 @@ static int adts_aac_read_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR_INVALIDDATA; } - return av_append_packet(s->pb, pkt, fsize - ADTS_HEADER_SIZE); + ret = av_append_packet(s->pb, pkt, fsize - ADTS_HEADER_SIZE); + if (ret < 0) + av_packet_unref(pkt); + + return ret; } AVInputFormat ff_aac_demuxer = { -- cgit v1.2.3