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)) {