From 754d011d8d546304bbcd34ce9b5f83bc68d09431 Mon Sep 17 00:00:00 2001 From: foobar Date: Wed, 23 Nov 2005 15:50:27 +0000 Subject: [PATCH] fix leaks --- ext/filter/filter.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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; -- 2.50.1