From 548f1a3fa479836d60d85d02708db79c6345acea Mon Sep 17 00:00:00 2001 From: Andreas Rheinhardt Date: Thu, 22 Oct 2020 16:03:41 +0200 Subject: avcodec/webp: Return directly when creating Huff table fails Neither the auxiliary VLC table nor the code_lengths array need to be freed if creating the auxiliary VLC table fails. Signed-off-by: Andreas Rheinhardt --- libavcodec/webp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/webp.c') diff --git a/libavcodec/webp.c b/libavcodec/webp.c index 6b53a7f17c..549d125dcc 100644 --- a/libavcodec/webp.c +++ b/libavcodec/webp.c @@ -324,7 +324,7 @@ static int read_huffman_code_normal(WebPContext *s, HuffReader *hc, int alphabet_size) { HuffReader code_len_hc = { { 0 }, 0, 0, { 0 } }; - uint8_t *code_lengths = NULL; + uint8_t *code_lengths; uint8_t code_length_code_lengths[NUM_CODE_LENGTH_CODES] = { 0 }; int i, symbol, max_symbol, prev_code_len, ret; int num_codes = 4 + get_bits(&s->gb, 4); @@ -338,7 +338,7 @@ static int read_huffman_code_normal(WebPContext *s, HuffReader *hc, ret = huff_reader_build_canonical(&code_len_hc, code_length_code_lengths, NUM_CODE_LENGTH_CODES); if (ret < 0) - goto finish; + return ret; code_lengths = av_mallocz(alphabet_size); if (!code_lengths) { -- cgit v1.2.3