From: Rui Hirokawa Date: Fri, 4 May 2001 10:42:54 +0000 (+0000) Subject: fixed a memory leak in ext/mbstring. X-Git-Tag: php-4.0.6RC1~149 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0624c769b5d771c52f8eec3b924b9fdc4cd65f7;p=php fixed a memory leak in ext/mbstring. --- diff --git a/ext/mbstring/mbfilter.c b/ext/mbstring/mbfilter.c index 2e8e7bb0bb..d640bc01f5 100644 --- a/ext/mbstring/mbfilter.c +++ b/ext/mbstring/mbfilter.c @@ -2279,12 +2279,16 @@ mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter) static int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter) { + filter->status = 0; + filter->cache = 0; return 0; } static void mbfl_filt_conv_common_dtor(mbfl_convert_filter *filter) { + filter->status = 0; + filter->cache = 0; } static int diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 2afc22df1a..e6df77f736 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -51,6 +51,7 @@ #include "ext/standard/php_mail.h" #include "ext/standard/url.h" #include "ext/standard/php_output.h" +#include "ext/standard/info.h" #include "php_variables.h" #include "php_globals.h" @@ -763,8 +764,10 @@ PHP_FUNCTION(mb_preferred_mime_name) } /* }}} */ +#if defined(MBSTR_ENC_TRANS) +static void +php_mbstr_encoding_handler(zval *arg, char *res, char *separator) { -static php_mbstr_encoding_handler(zval *arg, char *res, char *separator) { char *var, *val; char *strtok_buf = NULL, **val_list; zval *array_ptr = (zval *) arg; @@ -875,6 +878,7 @@ static php_mbstr_encoding_handler(zval *arg, char *res, char *separator) { } if (ret != NULL) { php_register_variable_safe(val_list[n], ret->val, ret->len, array_ptr ELS_CC PLS_CC); + efree(ret->val); } else { php_register_variable_safe(val_list[n], val_list[n+1], len_list[n+1], array_ptr ELS_CC PLS_CC); } @@ -1023,6 +1027,7 @@ void mbstr_treat_data(int arg, char *str, zval* destArray ELS_DC PLS_DC SLS_DC) efree(res); } } +#endif /* {{{ proto array mb_gpc_handler(string query, int type) */