Commit ce7aee9b authored by Alex Converse's avatar Alex Converse
Browse files

dpcm: ignore extra unpaired bytes in stereo streams.

Fixes: CVE-2011-3951

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
parent 3e13005c
release/6.1 n7.1-dev n7.0.2 n7.0.1 n7.0 n6.2-dev n6.1.2 n6.1.1 n6.1 n6.1-dev n6.0.1 n6.0 n5.2-dev n5.1.6 n5.1.5 n5.1.4 n5.1.3 n5.1.2 n5.1.1 n5.1 n5.1-dev n5.0.3 n5.0.2 n5.0.1 n5.0 n4.5-dev n4.4.5 n4.4.4 n4.4.3 n4.4.2 n4.4.1 n4.4 n4.4-dev n4.3.8 n4.3.7 n4.3.6 n4.3.5 n4.3.4 n4.3.3 n4.3.2 n4.3.1 n4.3 n4.3-dev n4.2.10 n4.2.9 n4.2.8 n4.2.7 n4.2.6 n4.2.5 n4.2.4 n4.2.3 n4.2.2 n4.2.1 n4.2 n4.2-dev n4.1.11 n4.1.10 n4.1.9 n4.1.8 n4.1.7 n4.1.6 n4.1.5 n4.1.4 n4.1.3 n4.1.2 n4.1.1 n4.1 n4.1-dev n4.0.6 n4.0.5 n4.0.4 n4.0.3 n4.0.2 n4.0.1 n4.0 n3.5-dev n3.4.13 n3.4.12 n3.4.11 n3.4.10 n3.4.9 n3.4.8 n3.4.7 n3.4.6 n3.4.5 n3.4.4 n3.4.3 n3.4.2 n3.4.1 n3.4 n3.4-dev n3.3.9 n3.3.8 n3.3.7 n3.3.6 n3.3.5 n3.3.4 n3.3.3 n3.3.2 n3.3.1 n3.3 n3.3-dev n3.2.19 n3.2.18 n3.2.17 n3.2.16 n3.2.15 n3.2.14 n3.2.13 n3.2.12 n3.2.11 n3.2.10 n3.2.9 n3.2.8 n3.2.7 n3.2.6 n3.2.5 n3.2.4 n3.2.3 n3.2.2 n3.2.1 n3.2 n3.2-dev n3.1.11 n3.1.10 n3.1.9 n3.1.8 n3.1.7 n3.1.6 n3.1.5 n3.1.4 n3.1.3 n3.1.2 n3.1.1 n3.1 n3.1-dev n3.0.12 n3.0.11 n3.0.10 n3.0.9 n3.0.8 n3.0.7 n3.0.6 n3.0.5 n3.0.4 n3.0.3 n3.0.2 n3.0.1 n3.0 n2.9-dev n2.8.22 n2.8.21 n2.8.20 n2.8.19 n2.8.18 n2.8.17 n2.8.16 n2.8.15 n2.8.14 n2.8.13 n2.8.12 n2.8.11 n2.8.10 n2.8.9 n2.8.8 n2.8.7 n2.8.6 n2.8.5 n2.8.4 n2.8.3 n2.8.2 n2.8.1 n2.8 n2.8-dev n2.7.7 n2.7.6 n2.7.5 n2.7.4 n2.7.3 n2.7.2 n2.7.1 n2.7 n2.7-dev n2.6.9 n2.6.8 n2.6.7 n2.6.6 n2.6.5 n2.6.4 n2.6.3 n2.6.2 n2.6.1 n2.6 n2.6-dev n2.5.11 n2.5.10 n2.5.9 n2.5.8 n2.5.7 n2.5.6 n2.5.5 n2.5.4 n2.5.3 n2.5.2 n2.5.1 n2.5 n2.5-dev n2.4.14 n2.4.13 n2.4.12 n2.4.11 n2.4.10 n2.4.9 n2.4.8 n2.4.7 n2.4.6 n2.4.5 n2.4.4 n2.4.3 n2.4.2 n2.4.1 n2.4 n2.4-dev n2.3.6 n2.3.5 n2.3.4 n2.3.3 n2.3.2 n2.3.1 n2.3 n2.3-dev n2.2.16 n2.2.15 n2.2.14 n2.2.13 n2.2.12 n2.2.11 n2.2.10 n2.2.9 n2.2.8 n2.2.7 n2.2.6 n2.2.5 n2.2.4 n2.2.3 n2.2.2 n2.2.1 n2.2 n2.2-rc2 n2.2-rc1 n2.2-dev n2.1.8 n2.1.7 n2.1.6 n2.1.5 n2.1.4 n2.1.3 n2.1.2 n2.1.1 n2.1 n2.1-dev n2.0.7 n2.0.6 n2.0.5 n2.0.4 n2.0.3 n2.0.2 n2.0.1 n2.0 n1.3-dev n1.2.12 n1.2.11 n1.2.10 n1.2.9 n1.2.8 n1.2.7 n1.2.6 n1.2.5 n1.2.4 n1.2.3 n1.2.2 n1.2.1 n1.2 n1.2-dev n1.1.16 n1.1.15 n1.1.14 n1.1.13 n1.1.12 n1.1.11 n1.1.10 n1.1.9 n1.1.8 n1.1.7 n1.1.6 n1.1.5 n1.1.4 n1.1.3 n1.1.2 n1.1.1 n1.1 n1.1-dev n1.0.10 n1.0.9 n1.0.8 n1.0.7 n1.0.6 n1.0.5 n1.0.4 n1.0.3 n1.0.2 n1.0.1 n1.0 n0.12-dev n0.11.5 n0.11.4 n0.11.3 n0.11.2 n0.11.1 n0.11
No related merge requests found
Showing with 6 additions and 1 deletion
+6 -1
......@@ -183,6 +183,11 @@ static int dpcm_decode_frame(AVCodecContext *avctx, void *data,
int stereo = s->channels - 1;
int16_t *output_samples;
if (stereo && (buf_size & 1)) {
buf_size--;
buf_end--;
}
/* calculate output size */
switch(avctx->codec->id) {
case CODEC_ID_ROQ_DPCM:
......@@ -317,7 +322,7 @@ static int dpcm_decode_frame(AVCodecContext *avctx, void *data,
*got_frame_ptr = 1;
*(AVFrame *)data = s->frame;
return buf_size;
return avpkt->size;
}
#define DPCM_DECODER(id_, name_, long_name_) \
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment