Mercurial > libavcodec.hg
changeset 10229:bd1c4a438c7f libavcodec
Check codec_id and codec_type in avcodec_open(), based on 43_codec_type_mismatch.patch from chrome
This is said to be able to lead to a stack based buffer overflow.
author | michael |
---|---|
date | Tue, 22 Sep 2009 22:44:56 +0000 |
parents | b783894a1c62 |
children | afaf58d1e894 |
files | utils.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/utils.c Tue Sep 22 20:37:55 2009 +0000 +++ b/utils.c Tue Sep 22 22:44:56 2009 +0000 @@ -481,7 +481,10 @@ } avctx->codec = codec; - avctx->codec_id = codec->id; + if(avctx->codec_id != codec->id || avctx->codec_type != codec->type){ + av_log(avctx, AV_LOG_ERROR, "codec type or id mismatches\n"); + goto end; + } avctx->frame_number = 0; if(avctx->codec->init){ ret = avctx->codec->init(avctx);