From: foobar Date: Wed, 23 Nov 2005 15:50:27 +0000 (+0000) Subject: fix leaks X-Git-Tag: RELEASE_2_0_2~112 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=754d011d8d546304bbcd34ce9b5f83bc68d09431;p=php fix leaks --- diff --git a/ext/filter/filter.c b/ext/filter/filter.c index 442ab8c0f3..379284e8fb 100644 --- a/ext/filter/filter.c +++ b/ext/filter/filter.c @@ -376,11 +376,17 @@ static unsigned int php_sapi_filter(int arg, char *var, char **val, unsigned int efree(orig_var); } - if (new_val_len && retval) { - *new_val_len = Z_STRLEN(new_var); + if (retval) { + if (new_val_len) { + *new_val_len = Z_STRLEN(new_var); + } efree(*val); - *val = estrndup(Z_STRVAL(new_var), Z_STRLEN(new_var) + 1); - zval_dtor(&new_var); + if (Z_STRLEN(new_var)) { + *val = estrdup(Z_STRVAL(new_var)); + zval_dtor(&new_var); + } else { + *val = estrdup(""); + } } return retval;