From d0df74553bebdc33e960ea9bce9bfb323c0a1bd7 Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Mon, 11 Jul 2022 20:01:56 +0200 Subject: [PATCH] avcodec/iff: Return early when possible It allows to save one level of indentation. Signed-off-by: Andreas Rheinhardt --- libavcodec/iff.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libavcodec/iff.c b/libavcodec/iff.c index d596ad4ba4..d64cb4ae62 100644 --- a/libavcodec/iff.c +++ b/libavcodec/iff.c @@ -222,7 +222,9 @@ static int extract_header(AVCodecContext *const avctx) return AVERROR_INVALIDDATA; } - if (buf_size >= 41) { + if (buf_size < 41) + return 0; + s->compression = bytestream_get_byte(&buf); s->bpp = bytestream_get_byte(&buf); s->ham = bytestream_get_byte(&buf); @@ -315,7 +317,6 @@ static int extract_header(AVCodecContext *const avctx) s->ham_palbuf[(1 << s->bpp) + i] = s->ham_palbuf[i] | 0xFF000000; } } - } return 0; } @@ -1469,10 +1470,12 @@ static int parse_packet_header(AVCodecContext *const avctx, IffContext *s = avctx->priv_data; int i; - if (avctx->codec_tag == MKTAG('A', 'N', 'I', 'M')) { uint32_t chunk_id; uint64_t data_size; + if (avctx->codec_tag != MKTAG('A', 'N', 'I', 'M')) + return 0; + bytestream2_skip(gb, 4); while (bytestream2_get_bytes_left(gb) >= 1) { chunk_id = bytestream2_get_le32(gb); @@ -1516,7 +1519,6 @@ static int parse_packet_header(AVCodecContext *const avctx, bytestream2_skip(gb, data_size + (data_size&1)); } } - } return 0; }