diff --git a/lzw.c b/lzw.c index 3bd991dc12f03295e5594afc174c6d8cc344179a..9d0159a85b19e48c430bcf652449eabd50e2be32 100644 --- a/lzw.c +++ b/lzw.c @@ -367,7 +367,7 @@ act_LZW_data(const HParseResult *p, void *u) total_buffer_size = first.len + rest.len; - buffer = malloc(sizeof(uint8_t) * total_buffer_size); // XXX arena alloc, calloc + buffer = calloc(total_buffer_size, sizeof(uint8_t)); memcpy(buffer, first.token, first.len); memcpy(buffer+first.len, rest.token, rest.len); // XXX: Memory use would be greatly decreased if first.token and rest.token could be freed here (allocated in act_LZW_firstcode and act_LZW_body)