summaryrefslogtreecommitdiff
path: root/ext/mbstring/tests/bug66797.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/tests/bug66797.phpt')
-rw-r--r--ext/mbstring/tests/bug66797.phpt23
1 files changed, 23 insertions, 0 deletions
diff --git a/ext/mbstring/tests/bug66797.phpt b/ext/mbstring/tests/bug66797.phpt
new file mode 100644
index 0000000000..df9e789be6
--- /dev/null
+++ b/ext/mbstring/tests/bug66797.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Bug #66797 (mb_substr only takes 32-bit signed integer)
+--SKIPIF--
+<?php
+if (!extension_loaded('mbstring')) die('skip mbstring extension not available');
+if (PHP_INT_SIZE != 8) die('skip this test is for 64bit platforms only');
+?>
+--FILE--
+<?php
+var_dump(
+ mb_substr('bar', 0, 0x7fffffff),
+ mb_substr('bar', 0, 0x80000000),
+ mb_substr('bar', 0xffffffff, 1),
+ mb_substr('bar', 0x100000000, 1)
+);
+?>
+==DONE==
+--EXPECTF--
+string(3) "bar"
+string(3) "bar"
+string(0) ""
+string(0) ""
+==DONE==