diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-07-11 20:01:56 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2022-09-15 21:29:59 +0200 |
commit | d0df74553bebdc33e960ea9bce9bfb323c0a1bd7 (patch) | |
tree | 9784bbcf59242eb36511b437fa7fc2e20597146e /libavcodec/iff.c | |
parent | 46b586e5b262052f09dfd22d06356c875203c245 (diff) | |
download | ffmpeg-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>
Diffstat (limited to 'libavcodec/iff.c')
-rw-r--r-- | libavcodec/iff.c | 10 |
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; } |