|
|
|
@ -0,0 +1,65 @@ |
|
|
|
--TEST-- |
|
|
|
Bug (Incorrectly decoding bit values / Malformed server packet. Field length pointing) |
|
|
|
--SKIPIF-- |
|
|
|
<?php |
|
|
|
require_once('skipif.inc'); |
|
|
|
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)"; |
|
|
|
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 bug72489")) |
|
|
|
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" |
|
|
|
} |
|
|
|
Done |