rv34: error out on size changes with frame threading

Fixes CVE-2012-2772

(cherry picked from commit cb7190cd2c691fd93e4d3664f3fce6c19ee001dd)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
This commit is contained in:
Janne Grunau 2012-03-23 22:30:38 +01:00 committed by Anton Khirnov
parent 90575bd7dd
commit b1ad5a21da

View File

@ -1677,6 +1677,13 @@ int ff_rv34_decode_frame(AVCodecContext *avctx,
if (s->width != si.width || s->height != si.height) {
int err;
if (HAVE_THREADS &&
(s->avctx->active_thread_type & FF_THREAD_FRAME)) {
av_log_missing_feature(s->avctx, "Width/height changing with "
"frame threading is", 0);
return AVERROR_PATCHWELCOME;
}
av_log(s->avctx, AV_LOG_WARNING, "Changing dimensions to %dx%d\n",
si.width, si.height);
MPV_common_end(s);