[FFmpeg-devel] [PATCH] lavc/magicyuv: fix undefined behaviour introduced in 8a135a55b
Paul B Mahol
onemda at gmail.com
Sun Jun 19 19:00:50 CEST 2016
On 6/19/16, Clement Boesch <u at pkh.me> wrote:
> Order of evaluation of parameters in C is not defined.
> ---
> libavcodec/magicyuv.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c
> index ce0ea9b..3bb4c5a 100644
> --- a/libavcodec/magicyuv.c
> +++ b/libavcodec/magicyuv.c
> @@ -245,7 +245,7 @@ static int decode_frame(AVCodecContext *avctx,
> AVFrame *p = data;
> GetByteContext gb;
> GetBitContext b;
> - int i, j, k;
> + int i, j, k, width, height;
>
> bytestream2_init(&gb, avpkt->data, avpkt->size);
> if (bytestream2_get_le32(&gb) != MKTAG('M','A','G','Y'))
> @@ -309,7 +309,9 @@ static int decode_frame(AVCodecContext *avctx,
> s->interlaced = !!(bytestream2_get_byte(&gb) & 2);
> bytestream2_skip(&gb, 3);
>
> - if ((ret = ff_set_dimensions(avctx, bytestream2_get_le32(&gb),
> bytestream2_get_le32(&gb))) < 0)
> + width = bytestream2_get_le32(&gb);
> + height = bytestream2_get_le32(&gb);
> + if ((ret = ff_set_dimensions(avctx, width, height)) < 0)
> return ret;
>
> slice_width = bytestream2_get_le32(&gb);
> --
> 2.8.3
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
ok
More information about the ffmpeg-devel
mailing list