Browse Source

mlpdec: validate that the reported channel count matches the actual output

channel count
tags/n0.9
Justin Ruggles 14 years ago
parent
commit
caa845851d
1 changed files with 6 additions and 1 deletions
  1. +6
    -1
      libavcodec/mlpdec.c

+ 6
- 1
libavcodec/mlpdec.c View File

@@ -909,7 +909,12 @@ static int output_data_internal(MLPDecodeContext *m, unsigned int substr,
int32_t *data_32 = (int32_t*) data;
int16_t *data_16 = (int16_t*) data;

if (*data_size < (s->max_channel + 1) * s->blockpos * (is32 ? 4 : 2))
if (m->avctx->channels != s->max_matrix_channel + 1) {
av_log(m->avctx, AV_LOG_ERROR, "channel count mismatch\n");
return AVERROR_INVALIDDATA;
}

if (*data_size < m->avctx->channels * s->blockpos * (is32 ? 4 : 2))
return -1;

for (i = 0; i < s->blockpos; i++) {


Loading…
Cancel
Save