summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
Diffstat (limited to 'ext')
-rw-r--r--ext/standard/tests/general_functions/parse_ini_string_bug76068.phpt49
1 files changed, 49 insertions, 0 deletions
diff --git a/ext/standard/tests/general_functions/parse_ini_string_bug76068.phpt b/ext/standard/tests/general_functions/parse_ini_string_bug76068.phpt
new file mode 100644
index 0000000000..8362fb84d1
--- /dev/null
+++ b/ext/standard/tests/general_functions/parse_ini_string_bug76068.phpt
@@ -0,0 +1,49 @@
+--TEST--
+Bug #76068 parse_ini_string fails to parse "[foo]\nbar=1|>baz" with segfault
+--FILE--
+<?php
+
+$s = parse_ini_string("[foo]\nbar=1|>baz",true, \INI_SCANNER_TYPED);
+var_dump($s);
+
+$s = parse_ini_string("[foo]\nbar=\"1|>baz\"",true, \INI_SCANNER_TYPED);
+var_dump($s);
+
+$s = parse_ini_string("[foo]\nbar=1",true, \INI_SCANNER_TYPED);
+var_dump($s);
+
+$s = parse_ini_string("[foo]\nbar=42|>baz",true, \INI_SCANNER_TYPED);
+var_dump($s);
+
+?>
+==DONE==
+--EXPECT--
+array(1) {
+ ["foo"]=>
+ array(1) {
+ ["bar"]=>
+ string(1) "1"
+ }
+}
+array(1) {
+ ["foo"]=>
+ array(1) {
+ ["bar"]=>
+ string(6) "1|>baz"
+ }
+}
+array(1) {
+ ["foo"]=>
+ array(1) {
+ ["bar"]=>
+ int(1)
+ }
+}
+array(1) {
+ ["foo"]=>
+ array(1) {
+ ["bar"]=>
+ string(2) "42"
+ }
+}
+==DONE==