diff --git a/libavcodec/magicyuv.c b/libavcodec/magicyuv.c index ce0ea9b84a..3bb4c5a8b4 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);