zend_string_realloc will do this by itself.
if (ctx->avail_out == 0) {
/* more output buffer space needed; realloc and try again */
/* adding 64 more bytes solved every issue I have seen */
- /* the + 1 is for the string terminator added below */
- out = zend_string_realloc(out, ZSTR_LEN(out) + 64 + 1, 0);
+ out = zend_string_realloc(out, ZSTR_LEN(out) + 64, 0);
ctx->avail_out = 64;
ctx->next_out = (Bytef *) ZSTR_VAL(out) + buffer_used;
}