[FFmpeg-devel] [PATCH] avformat/aacdec: Fix leak in adts_aac_read_packet()

Michael Niedermayer michael at niedermayer.cc
Sat Nov 25 20:30:46 EET 2017


Fixes: chromium-773637/clusterfuzz-testcase-minimized-6418078673141760

Found-by: ossfuzz/chromium
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
---
 libavformat/aacdec.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/libavformat/aacdec.c b/libavformat/aacdec.c
index 364b33404f..101e8dbea5 100644
--- a/libavformat/aacdec.c
+++ b/libavformat/aacdec.c
@@ -139,7 +139,13 @@ 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 AVERROR_INVALIDDATA;
+    }
+
+    return ret;
 }
 
 AVInputFormat ff_aac_demuxer = {
-- 
2.15.0



More information about the ffmpeg-devel mailing list