Browse Source

opusdec: make sure all substreams have the same number of coded samples

Fixes invalid writes with invalid multichannel streams.

CC:libav-stable@libav.org
tags/n2.5
Anton Khirnov 11 years ago
parent
commit
1973079417
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavcodec/opusdec.c

+ 6
- 0
libavcodec/opusdec.c View File

@@ -500,6 +500,12 @@ static int opus_decode_packet(AVCodecContext *avctx, void *data,
av_log(avctx, AV_LOG_ERROR, "Error parsing the packet header.\n");
return ret;
}
if (coded_samples != s->packet.frame_count * s->packet.frame_duration) {
av_log(avctx, AV_LOG_ERROR,
"Mismatching coded sample count in substream %d.\n", i);
return AVERROR_INVALIDDATA;
}

s->silk_samplerate = get_silk_samplerate(s->packet.config);
}



Loading…
Cancel
Save