summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2021-03-31 20:18:43 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2021-04-06 09:03:19 +0100
commitf1e0c5c5bbb01ab9747b9bd0113e6598bcc5025a (patch)
tree9d25baf6939441df31e8b25e727b8fc576a5005c
parent87f9e081593d4ca373997f4a19578f13066e1941 (diff)
downloadlibnsgif-f1e0c5c5bbb01ab9747b9bd0113e6598bcc5025a.tar.gz
libnsgif-f1e0c5c5bbb01ab9747b9bd0113e6598bcc5025a.tar.bz2
lzw: Avoid code size increment check when dictionary is full.
-rw-r--r--src/lzw.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/lzw.c b/src/lzw.c
index 3504982..ed92e36 100644
--- a/src/lzw.c
+++ b/src/lzw.c
@@ -357,11 +357,10 @@ lzw_result lzw_decode(struct lzw_ctx *ctx,
lzw__dictionary_add_entry(ctx, (code_new < current_entry) ?
table[code_new].first_value :
ctx->previous_code_first);
- }
- /* Ensure code size is increased, if needed. */
- if (current_entry == ctx->current_code_size_max) {
- if (ctx->current_code_size < LZW_CODE_MAX) {
+ /* Ensure code size is increased, if needed. */
+ if (current_entry == ctx->current_code_size_max &&
+ ctx->current_code_size < LZW_CODE_MAX) {
ctx->current_code_size++;
ctx->current_code_size_max =
(1 << ctx->current_code_size) - 1;