diff options
Diffstat (limited to 'libavformat/aacdec.c')
-rw-r--r-- | libavformat/aacdec.c | 6 |
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 = { |