From 0ec7b71de82442bb4ff6398bb2c7ec7e9f6e4f57 Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Sun, 4 May 2008 01:07:46 +0000 Subject: [PATCH] Do not read out of array bounds. Originally committed as revision 13053 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/flac.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavcodec/flac.c b/libavcodec/flac.c index d2cc3831f1..2e8e99b9d3 100644 --- a/libavcodec/flac.c +++ b/libavcodec/flac.c @@ -279,9 +279,13 @@ static int decode_subframe_fixed(FLACContext *s, int channel, int pred_order) if (decode_residuals(s, channel, pred_order) < 0) return -1; + if(pred_order > 0) a = decoded[pred_order-1]; + if(pred_order > 1) b = a - decoded[pred_order-2]; + if(pred_order > 2) c = b - decoded[pred_order-2] + decoded[pred_order-3]; + if(pred_order > 3) d = c - decoded[pred_order-2] + 2*decoded[pred_order-3] - decoded[pred_order-4]; switch(pred_order)