summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/aacdec.c6
1 files changed, 5 insertions, 1 deletions
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 = {