---
 libavcodec/ra144dec.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/ra144dec.c b/libavcodec/ra144dec.c
index 10c85b7..6707601 100644
--- a/libavcodec/ra144dec.c
+++ b/libavcodec/ra144dec.c
@@ -64,13 +64,15 @@ static int ra144_decode_frame(AVCodecContext * avctx, void 
*vdata,
     uint16_t block_coefs[4][10]; // LPC coefficients of each sub-block
     unsigned int lpc_refl[10];   // LPC reflection coefficients of the frame
     int i, j;
+    int out_size;
     int16_t *data = vdata;
     unsigned int energy;
 
     RA144Context *ractx = avctx->priv_data;
     GetBitContext gb;
 
-    if (*data_size < 2*160)
+    out_size = NBLOCKS * BLOCKSIZE * 
av_get_bytes_per_sample(avctx->sample_fmt);
+    if (*data_size < out_size)
         return -1;
 
     if(buf_size < 20) {
@@ -110,7 +112,7 @@ static int ra144_decode_frame(AVCodecContext * avctx, void 
*vdata,
 
     FFSWAP(unsigned int *, ractx->lpc_coef[0], ractx->lpc_coef[1]);
 
-    *data_size = 2*160;
+    *data_size = out_size;
     return 20;
 }
 
-- 
1.7.1

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to