comparison vorbis_dec.c @ 10232:1792a26c0bbb libavcodec

Check dimensions against 0 too. 39_vorbis_zero_dims.patch from chrome
author michael
date Wed, 23 Sep 2009 08:35:29 +0000
parents e99054a89bfe
children 2355ca5dc57c
comparison
equal deleted inserted replaced
10231:e99054a89bfe 10232:1792a26c0bbb
242 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook setup data corrupt. \n", cb); 242 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook setup data corrupt. \n", cb);
243 goto error; 243 goto error;
244 } 244 }
245 245
246 codebook_setup->dimensions=get_bits(gb, 16); 246 codebook_setup->dimensions=get_bits(gb, 16);
247 if (codebook_setup->dimensions>16) { 247 if (codebook_setup->dimensions>16||codebook_setup->dimensions==0) {
248 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook's dimension is too large (%d). \n", cb, codebook_setup->dimensions); 248 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook's dimension is invalid (%d). \n", cb, codebook_setup->dimensions);
249 goto error; 249 goto error;
250 } 250 }
251 entries=get_bits(gb, 24); 251 entries=get_bits(gb, 24);
252 if (entries>V_MAX_VLCS) { 252 if (entries>V_MAX_VLCS) {
253 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook has too many entries (%"PRIdFAST32"). \n", cb, entries); 253 av_log(vc->avccontext, AV_LOG_ERROR, " %"PRIdFAST16". Codebook has too many entries (%"PRIdFAST32"). \n", cb, entries);