diff options
Diffstat (limited to 'ext/json/tests/bug40503.phpt')
| -rw-r--r-- | ext/json/tests/bug40503.phpt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/ext/json/tests/bug40503.phpt b/ext/json/tests/bug40503.phpt new file mode 100644 index 000000000..48f18a4e0 --- /dev/null +++ b/ext/json/tests/bug40503.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #40503 (json_encode() value corruption on 32bit systems with overflown values) +--INI-- +precision=14 +--SKIPIF-- +<?php if (!extension_loaded("json")) print "skip"; ?> +--FILE-- +<?php +function show_eq($x,$y) { + echo "$x ". ($x==$y ? "==" : "!=") ." $y\n"; +} + +$value = 0x7FFFFFFF; #2147483647; +show_eq("$value", json_encode($value)); +$value++; +show_eq("$value", json_encode($value)); + +?> +--EXPECT-- +2147483647 == 2147483647 +2147483648 == 2147483648 |
