wmaenc: require a large enough output buffer to prevent overwrites

The maximum theoretical frame size is around 17000 bytes. Although in
practice it will generally be much smaller, we require a larger buffer
just to be safe.

CC: libav-stable@libav.org
This commit is contained in:
Justin Ruggles 2012-03-02 16:33:33 -05:00
parent 1ec075cfec
commit dfc4fdedf8
1 changed files with 5 additions and 0 deletions

View File

@ -365,6 +365,11 @@ static int encode_superframe(AVCodecContext *avctx,
} }
} }
if (buf_size < 2 * MAX_CODED_SUPERFRAME_SIZE) {
av_log(avctx, AV_LOG_ERROR, "output buffer size is too small\n");
return AVERROR(EINVAL);
}
#if 1 #if 1
total_gain= 128; total_gain= 128;
for(i=64; i; i>>=1){ for(i=64; i; i>>=1){