--TEST-- Bug #80560: Strings containing only a base prefix return 0 object --SKIPIF-- --FILE-- getMessage(), \PHP_EOL; } try { var_dump(gmp_init('0x', 16)); } catch (\ValueError $e) { echo $e->getMessage(), \PHP_EOL; } echo 'Binary', \PHP_EOL; try { var_dump(gmp_init('0B', 2)); } catch (\ValueError $e) { echo $e->getMessage(), \PHP_EOL; } try { var_dump(gmp_init('0b', 2)); } catch (\ValueError $e) { echo $e->getMessage(), \PHP_EOL; } echo 'Fuzzing gmp functions:', \PHP_EOL; foreach ($functions1 as $function) { try { $function('0B'); echo $function, ' failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function('0b'); echo $function, ' failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function('0X'); echo $function, ' failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function('0x'); echo $function, ' failed with 0x', \PHP_EOL; } catch (\ValueError) { } } foreach ($functions1_need_int_2 as $function) { try { $function('0B', 1); echo $function, ' failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function('0b', 1); echo $function, ' failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function('0X', 1); echo $function, ' failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function('0x', 1); echo $function, ' failed with 0x', \PHP_EOL; } catch (\ValueError) { } } foreach ($functions2 as $function) { try { $function('0B', 1); echo $function, ' arg 1 failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function('0b', 1); echo $function, ' arg 1 failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function('0X', 1); echo $function, ' arg 1 failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function('0x', 1); echo $function, ' arg 1 failed with 0x', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0B'); echo $function, ' arg 2 failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0b'); echo $function, ' arg 2 failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0X'); echo $function, ' arg 2 failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0x'); echo $function, ' arg 2 failed with 0x', \PHP_EOL; } catch (\ValueError) { } } foreach ($functions3 as $function) { try { $function('0B', 1, 1); echo $function, ' arg 1 failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function('0b', 1, 1); echo $function, ' arg 1 failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function('0X', 1, 1); echo $function, ' arg 1 failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function('0x', 1, 1); echo $function, ' arg 1 failed with 0x', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0B', 1); echo $function, ' arg 2 failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0b', 1); echo $function, ' arg 2 failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0X', 1); echo $function, ' arg 2 failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function(1, '0x', 1); echo $function, ' arg 2 failed with 0x', \PHP_EOL; } catch (\ValueError) { } try { $function(1, 1, '0B'); echo $function, ' arg 3 failed with 0B', \PHP_EOL; } catch (\ValueError) { } try { $function(1, 1, '0b'); echo $function, ' arg 3 failed with 0b', \PHP_EOL; } catch (\ValueError) { } try { $function(1, 1, '0X'); echo $function, ' arg 3 failed with 0X', \PHP_EOL; } catch (\ValueError) { } try { $function(1, 1, '0x'); echo $function, ' arg 3 failed with 0x', \PHP_EOL; } catch (\ValueError) { } } echo "Done\n"; ?> --EXPECT-- Explicit base with gmp_init: Hexadecimal gmp_init(): Argument #1 ($num) is not an integer string gmp_init(): Argument #1 ($num) is not an integer string Binary gmp_init(): Argument #1 ($num) is not an integer string gmp_init(): Argument #1 ($num) is not an integer string Fuzzing gmp functions: Done