summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-01-28 17:40:07 +0100
committerNikita Popov <nikita.ppv@gmail.com>2020-01-28 17:40:07 +0100
commit38d205a5b1c032ed0e35383cfe86858b9859df93 (patch)
tree8d22e1c5225e3eb05b2f874784cd4ca547157cc2
parent7d3a6e7149260c35e80d85d349068347829b947a (diff)
parent9fcaf25c93aed2f70343d9f092627570ff1946e3 (diff)
downloadphp-git-38d205a5b1c032ed0e35383cfe86858b9859df93.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Fix memory leak in mb_str_split
-rw-r--r--ext/mbstring/mbstring.c1
-rw-r--r--ext/mbstring/tests/mb_str_split_utf8_utf16.phpt12
2 files changed, 11 insertions, 2 deletions
diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c
index 402ec11d09..5555cf687e 100644
--- a/ext/mbstring/mbstring.c
+++ b/ext/mbstring/mbstring.c
@@ -2029,6 +2029,7 @@ PHP_FUNCTION(mb_str_split)
mbfl_convert_filter_delete(decoder);
mbfl_convert_filter_delete(filter);
+ mbfl_memory_device_clear(&device);
return;
}
diff --git a/ext/mbstring/tests/mb_str_split_utf8_utf16.phpt b/ext/mbstring/tests/mb_str_split_utf8_utf16.phpt
index b8234bb322..d53dd088de 100644
--- a/ext/mbstring/tests/mb_str_split_utf8_utf16.phpt
+++ b/ext/mbstring/tests/mb_str_split_utf8_utf16.phpt
@@ -69,6 +69,10 @@ foreach(mb_str_split($utf16le_bad, 1, "UTF-16LE") as $chunk){
}
echo PHP_EOL;
+var_dump(mb_str_split("", 1, "ASCII"));
+var_dump(mb_str_split("", 1, "UTF-8"));
+var_dump(mb_str_split("", 1, "UTF-16LE"));
+
?>
--EXPECT--
UTF-8: l:2 v:3132 l:5 v:33f09280a9
@@ -77,5 +81,9 @@ UTF-16BE: l:4 v:d800dc00 l:4 v:dbffdfff
UTF-16LE: l:4 v:00d800dc l:4 v:ffdbffdf
BAD UTF-16BE: l:4 v:d800dc00 l:2 v:003f l:2 v:003f
BAD UTF-16LE: l:4 v:00d800dc l:2 v:3f00 l:2 v:3f00
-
-
+array(0) {
+}
+array(0) {
+}
+array(0) {
+}