123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- --TEST--
- Bug (Incorrectly decoding bit values / Malformed server packet. Field length pointing)
- --EXTENSIONS--
- mysqli
- --SKIPIF--
- <?php
- require_once('skipifconnectfailure.inc');
- ?>
- --FILE--
- <?php
- require_once("connect.inc");
- if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket)) {
- printf("[001] Connect failed, [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
- }
- if (!$link->query("DROP TABLE IF EXISTS bug_bits")) {
- printf("[002] [%d] %s\n", $link->errno, $link->error);
- }
- if (!$link->query("CREATE TABLE `bug_bits` (`inty` bigint(20) unsigned NOT NULL DEFAULT '0', `bitty` bit(64) NOT NULL DEFAULT b'0')")) {
- printf("[003] [%d] %s\n", $link->errno, $link->error);
- }
- $insertQuery = "INSERT INTO `bug_bits` VALUES (18446744073709551615, 18446744073709551615)".
- ",(18446744073709551614, 18446744073709551614)".
- ",(4294967296, 4294967296)".
- ",(4294967295, 4294967295)".
- ",(2147483648, 2147483648)".
- ",(2147483647, 2147483647)".
- ",(1, 1)";
- if (!$link->query($insertQuery)) {
- printf("[004] [%d] %s\n", $link->errno, $link->error);
- }
- if (!($res = $link->query("SELECT * FROM `bug_bits`"))) {
- printf("[005] [%d] %s\n", $link->errno, $link->error);
- }
- while ($row = $res->fetch_assoc()) {
- var_dump($row);
- }
- $link->close();
- echo "Done\n";
- ?>
- --CLEAN--
- <?php
- require_once("connect.inc");
- if (!$link = my_mysqli_connect($host, $user, $passwd, $db, $port, $socket))
- printf("[c001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
- if (!mysqli_query($link, "DROP TABLE IF EXISTS bug_bits"))
- printf("[c002] Cannot drop table, [%d] %s\n", mysqli_errno($link), mysqli_error($link));
- mysqli_close($link);
- ?>
- --EXPECT--
- array(2) {
- ["inty"]=>
- string(20) "18446744073709551615"
- ["bitty"]=>
- string(20) "18446744073709551615"
- }
- array(2) {
- ["inty"]=>
- string(20) "18446744073709551614"
- ["bitty"]=>
- string(20) "18446744073709551614"
- }
- array(2) {
- ["inty"]=>
- string(10) "4294967296"
- ["bitty"]=>
- string(10) "4294967296"
- }
- array(2) {
- ["inty"]=>
- string(10) "4294967295"
- ["bitty"]=>
- string(10) "4294967295"
- }
- array(2) {
- ["inty"]=>
- string(10) "2147483648"
- ["bitty"]=>
- string(10) "2147483648"
- }
- array(2) {
- ["inty"]=>
- string(10) "2147483647"
- ["bitty"]=>
- string(10) "2147483647"
- }
- array(2) {
- ["inty"]=>
- string(1) "1"
- ["bitty"]=>
- string(1) "1"
- }
- Done
|