diff options
author | Daniel Hammerschmid <daniel.hammerschmid@documatrix.com> | 2022-12-28 10:16:49 +0100 |
---|---|---|
committer | Daniel Hammerschmid <daniel.hammerschmid@documatrix.com> | 2022-12-28 10:16:49 +0100 |
commit | bd15b629060a0bba6d6f101aca1d590292018e28 (patch) | |
tree | 7cc02808ba798bbcdbe6793c9c5c015678fbac98 /src/cairo-lzw.c | |
parent | 9b2e6f19942ab5e9bdfd11963f2a80bfef1ab55c (diff) | |
download | cairo-bd15b629060a0bba6d6f101aca1d590292018e28.tar.gz |
Fixed crash in _cairo_lzw_compress for 1 byte input
Diffstat (limited to 'src/cairo-lzw.c')
-rw-r--r-- | src/cairo-lzw.c | 5 |
1 files changed, 4 insertions, 1 deletions
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)) { |