summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/standard/tests/strings/strcmp_unterminated.phpt22
1 files changed, 22 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/strcmp_unterminated.phpt b/ext/standard/tests/strings/strcmp_unterminated.phpt
new file mode 100644
index 0000000000..29518ef91d
--- /dev/null
+++ b/ext/standard/tests/strings/strcmp_unterminated.phpt
@@ -0,0 +1,22 @@
+--TEST--
+strnat(case)cmp(): potential OOB access for unterminated strings
+--SKIPIF--
+<?php
+if (!function_exists('zend_create_unterminated_string')) die('skip zend_test extension not available');
+?>
+--FILE--
+<?php
+$a = zend_create_unterminated_string('333');
+$b = zend_create_unterminated_string('333 ');
+var_dump(
+ strnatcmp($a, $b),
+ strnatcasecmp($b, $a)
+);
+zend_terminate_string($a);
+zend_terminate_string($b);
+?>
+===DONE===
+--EXPECT--
+int(-1)
+int(1)
+===DONE===