Browse Source

Guard against output buffer overflows

Originally committed as revision 10548 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Kostya Shishkov 17 years ago
parent
commit
a2085a7e9d
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavcodec/dpcm.c

+ 6
- 0
libavcodec/dpcm.c View File

@@ -173,6 +173,10 @@ static int dpcm_decode_frame(AVCodecContext *avctx,
if (!buf_size)
return 0;

// almost every DPCM variant expands one byte of data into two
if(*data_size/2 < buf_size)
return -1;

switch(avctx->codec->id) {

case CODEC_ID_ROQ_DPCM:
@@ -256,6 +260,8 @@ static int dpcm_decode_frame(AVCodecContext *avctx,
case CODEC_ID_SOL_DPCM:
in = 0;
if (avctx->codec_tag != 3) {
if(*data_size/4 < buf_size)
return -1;
while (in < buf_size) {
int n1, n2;
n1 = (buf[in] >> 4) & 0xF;


Loading…
Cancel
Save