Browse Source

alac: reject rice_limit 0 if compression is used

If rice_limit is 0, k can be 0 in decode_scalar, which calls show_bits(gb, k).

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4b657a1b1e)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.4.9
Andreas Cadhalpun Michael Niedermayer 11 years ago
parent
commit
dfe37f2be2
1 changed files with 5 additions and 0 deletions
  1. +5
    -0
      libavcodec/alac.c

+ 5
- 0
libavcodec/alac.c View File

@@ -316,6 +316,11 @@ static int decode_element(AVCodecContext *avctx, AVFrame *frame, int ch_index,
int lpc_quant[2];
int rice_history_mult[2];

if (!alac->rice_limit) {
avpriv_request_sample(alac->avctx, "Compression with rice limit 0");
return AVERROR(ENOSYS);
}

decorr_shift = get_bits(&alac->gb, 8);
decorr_left_weight = get_bits(&alac->gb, 8);



Loading…
Cancel
Save