Mercurial > libavcodec.hg
diff mpegvideo_xvmc.c @ 8983:436e7d43db62 libavcodec
Add more paranoid checks of xvmc token.
author | iive |
---|---|
date | Thu, 19 Feb 2009 09:55:52 +0000 |
parents | 8ebe84eae835 |
children | b595a8a59967 |
line wrap: on
line diff
--- a/mpegvideo_xvmc.c Thu Feb 19 08:39:47 2009 +0000 +++ b/mpegvideo_xvmc.c Thu Feb 19 09:55:52 2009 +0000 @@ -78,7 +78,10 @@ assert(avctx); if (!render || render->xvmc_id != AV_XVMC_ID || - !render->data_blocks || !render->mv_blocks) { + !render->data_blocks || !render->mv_blocks || + (unsigned int)render->allocated_mv_blocks > INT_MAX/(64*6) || + (unsigned int)render->allocated_data_blocks > INT_MAX/64 || + !render->p_surface) { av_log(avctx, AV_LOG_ERROR, "Render token doesn't look as expected.\n"); return -1; // make sure that this is a render packet