aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-07-11 20:01:56 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2022-09-15 21:29:59 +0200
commitd0df74553bebdc33e960ea9bce9bfb323c0a1bd7 (patch)
tree9784bbcf59242eb36511b437fa7fc2e20597146e
parent46b586e5b262052f09dfd22d06356c875203c245 (diff)
downloadffmpeg-d0df74553bebdc33e960ea9bce9bfb323c0a1bd7.tar.gz
avcodec/iff: Return early when possible
It allows to save one level of indentation. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r--libavcodec/iff.c10
1 files 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;
}