From bd15b629060a0bba6d6f101aca1d590292018e28 Mon Sep 17 00:00:00 2001 From: Daniel Hammerschmid Date: Wed, 28 Dec 2022 10:16:49 +0100 Subject: [PATCH] Fixed crash in _cairo_lzw_compress for 1 byte input --- src/cairo-lzw.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/cairo-lzw.c b/src/cairo-lzw.c index 58e229d79..e17cdfc1c 100644 --- a/src/cairo-lzw.c +++ b/src/cairo-lzw.c @@ -369,7 +369,10 @@ _cairo_lzw_compress (unsigned char *data, unsigned long *size_in_out) * lookup. */ _lzw_buf_store_bits (&buf, prev, code_bits); - LZW_SYMBOL_SET_CODE (*slot, code_next++, prev, next); + if (likely (slot != NULL)) + LZW_SYMBOL_SET_CODE (*slot, code_next, prev, next); + + code_next++; if (code_next > LZW_BITS_BOUNDARY(code_bits)) {