aacenc: fix out of array writes
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 4 Oct 2012 20:54:29 +0000 (22:54 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 3 Dec 2012 18:36:15 +0000 (19:36 +0100)
The value used in allocation is based on a estimate of the
maximum size of the spectral coefficients multiplied with 2
and rounded up. The exact or a tighter limit should be
found and used instead. But this issue shouldnt be left
open until someone works on that.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit d56834201bf7511ed497e956fb7ff78d49454b10)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/aacenc.c

index 9b2b2bb..383cb5a 100644 (file)
@@ -576,7 +576,7 @@ static int aac_encode_frame(AVCodecContext *avctx, AVPacket *avpkt,
         }
         start_ch += chans;
     }
-    if ((ret = ff_alloc_packet2(avctx, avpkt, 768 * s->channels))) {
+    if ((ret = ff_alloc_packet2(avctx, avpkt, 8192 * s->channels))) {
         av_log(avctx, AV_LOG_ERROR, "Error getting output packet\n");
         return ret;
     }