summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/mbstring/mb_gpc.c4
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);