vp56: check buffer size to fix a potential segfault

patch by Laurent Aimar  fenrir _at_ videolan _dot_ org

Originally committed as revision 21521 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Laurent Aimar 2010-01-28 23:49:46 +00:00 committed by Aurelien Jacobs
parent 8be0a5c384
commit 68a4d3498f
1 changed files with 4 additions and 0 deletions

View File

@ -504,8 +504,12 @@ int vp56_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
int is_alpha, av_uninit(alpha_offset);
if (s->has_alpha) {
if (remaining_buf_size < 3)
return -1;
alpha_offset = bytestream_get_be24(&buf);
remaining_buf_size -= 3;
if (remaining_buf_size < alpha_offset)
return -1;
}
for (is_alpha=0; is_alpha < 1+s->has_alpha; is_alpha++) {