1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

AMV: disable DR1 and don't override EMU_EDGE

This works around a possibly exploitable crash.
Appearently, vlc can be exploited with a malicous file. This should get
reverted as soon as a proper fix is found.

Reported-at: Thu, 21 Apr 2011 14:38:25 +0000
Reported-by: Dominic Chell <Dominic.Chell@ngssecure.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 89f903b3d5)
(cherry picked from commit 9b919571e5)
This commit is contained in:
Michael Niedermayer 2011-04-28 21:10:04 +02:00 committed by Reinhard Tartler
parent 7c152a458d
commit 7089265756

View File

@ -86,7 +86,6 @@ static int sp5x_decode_frame(AVCodecContext *avctx,
recoded[j++] = 0xFF; recoded[j++] = 0xFF;
recoded[j++] = 0xD9; recoded[j++] = 0xD9;
avctx->flags &= ~CODEC_FLAG_EMU_EDGE;
av_init_packet(&avpkt_recoded); av_init_packet(&avpkt_recoded);
avpkt_recoded.data = recoded; avpkt_recoded.data = recoded;
avpkt_recoded.size = j; avpkt_recoded.size = j;
@ -121,6 +120,6 @@ AVCodec ff_amv_decoder = {
NULL, NULL,
ff_mjpeg_decode_end, ff_mjpeg_decode_end,
sp5x_decode_frame, sp5x_decode_frame,
CODEC_CAP_DR1, 0,
.long_name = NULL_IF_CONFIG_SMALL("AMV Video"), .long_name = NULL_IF_CONFIG_SMALL("AMV Video"),
}; };