diff options
author | Stefan Esser <sesser@php.net> | 2004-06-26 07:57:37 +0000 |
---|---|---|
committer | Stefan Esser <sesser@php.net> | 2004-06-26 07:57:37 +0000 |
commit | ff716cbd3ec2875b6eb407c8b9c6db6659c2f48d (patch) | |
tree | 71fd50fb3244dfe4221d9bfc0018bca107dbd542 /ext/mbstring | |
parent | 9e5ea7d229a434b36fac9970ce172aed4251159f (diff) | |
download | php-git-ff716cbd3ec2875b6eb407c8b9c6db6659c2f48d.tar.gz |
Fixed input_filter functions need emalloc()ed values.
Diffstat (limited to 'ext/mbstring')
-rw-r--r-- | ext/mbstring/mb_gpc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ext/mbstring/mb_gpc.c b/ext/mbstring/mb_gpc.c index 61c635b280..a58c63ac56 100644 --- a/ext/mbstring/mb_gpc.c +++ b/ext/mbstring/mb_gpc.c @@ -343,10 +343,14 @@ int _php_mb_encoding_handler_ex(int data_type, zval *arg, char *res, char *separ val_len = len_list[n]; } n++; + /* we need val to be emalloc()ed */ + val = estrndup(val, val_len); if (sapi_module.input_filter(data_type, var, &val, val_len, &new_val_len TSRMLS_CC)) { /* add variable to symbol table */ php_register_variable_safe(var, val, new_val_len, array_ptr TSRMLS_CC); } + efree(val); + if (convd != NULL){ mbfl_string_clear(&resvar); mbfl_string_clear(&resval); |