summaryrefslogtreecommitdiff
path: root/ext/mbstring/mbstring.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-01-14 10:21:41 +0100
committerNikita Popov <nikita.ppv@gmail.com>2019-01-14 10:22:48 +0100
commit3ad0ebdf5cdc6dbe077685907d012eaeac7ea6e4 (patch)
treef8cd9879266b22f35bbd295e61df62ff133c4369 /ext/mbstring/mbstring.c
parent8f66ca8189fb603d69f6ff486341c4afa7ac93c1 (diff)
downloadphp-git-3ad0ebdf5cdc6dbe077685907d012eaeac7ea6e4.tar.gz
Fixed bug #77454
Diffstat (limited to 'ext/mbstring/mbstring.c')
-rw-r--r--ext/mbstring/mbstring.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 2ec7f1a3a8..9973313985 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -5260,11 +5260,9 @@ PHP_FUNCTION(mb_chr)
/* }}} */
-static inline char* php_mb_scrub(const char* str, size_t str_len, const char* enc)
+static inline char* php_mb_scrub(const char* str, size_t str_len, const char* enc, size_t *ret_len)
{
- size_t ret_len;
-
- return php_mb_convert_encoding(str, str_len, enc, enc, &ret_len);
+ return php_mb_convert_encoding(str, str_len, enc, enc, ret_len);
}
@@ -5276,6 +5274,7 @@ PHP_FUNCTION(mb_scrub)
char *enc = NULL;
size_t enc_len;
char *ret;
+ size_t ret_len;
ZEND_PARSE_PARAMETERS_START(1, 2)
Z_PARAM_STRING(str, str_len)
@@ -5290,13 +5289,13 @@ PHP_FUNCTION(mb_scrub)
RETURN_FALSE;
}
- ret = php_mb_scrub(str, str_len, enc);
+ ret = php_mb_scrub(str, str_len, enc, &ret_len);
if (ret == NULL) {
RETURN_FALSE;
}
- RETVAL_STRING(ret);
+ RETVAL_STRINGL(ret, ret_len);
efree(ret);
}
/* }}} */