comparison flac.c @ 6745:da3fecf31fa9 libavcodec

Do not read out of array bounds.
author ramiro
date Sun, 04 May 2008 01:07:46 +0000
parents 362abbd862f1
children 459562f7f2ce
comparison
equal deleted inserted replaced
6744:cb04861f9e45 6745:da3fecf31fa9
277 } 277 }
278 278
279 if (decode_residuals(s, channel, pred_order) < 0) 279 if (decode_residuals(s, channel, pred_order) < 0)
280 return -1; 280 return -1;
281 281
282 if(pred_order > 0)
282 a = decoded[pred_order-1]; 283 a = decoded[pred_order-1];
284 if(pred_order > 1)
283 b = a - decoded[pred_order-2]; 285 b = a - decoded[pred_order-2];
286 if(pred_order > 2)
284 c = b - decoded[pred_order-2] + decoded[pred_order-3]; 287 c = b - decoded[pred_order-2] + decoded[pred_order-3];
288 if(pred_order > 3)
285 d = c - decoded[pred_order-2] + 2*decoded[pred_order-3] - decoded[pred_order-4]; 289 d = c - decoded[pred_order-2] + 2*decoded[pred_order-3] - decoded[pred_order-4];
286 290
287 switch(pred_order) 291 switch(pred_order)
288 { 292 {
289 case 0: 293 case 0: