ID: 27172 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Open +Status: Verified -Bug Type: Reproducible crash +Bug Type: Math related Operating System: FreeBSD -PHP Version: 5.0.0b3 (beta3) +PHP Version: 5CVS, 4CVS
Previous Comments: ------------------------------------------------------------------------ [2004-02-06 20:57:30] [EMAIL PROTECTED] Description: ------------ gmp_powm() crashes with a floating point exception when the third parameter, the modulo, is called with a "0". This seems to be a problem with GMP itself. I am using GMP 4.1.2. PHP could, however, check to see if this parameter is 0, and call mpz_pow() instead. Reproduce code: --------------- <?php $a = gmp_powm("2", "31", "0"); ?> Expected result: ---------------- $a = 2147483648; Actual result: -------------- Program terminated with signal 8, Arithmetic exception. #0 0x281df6ce in __gmp_exception (error_bit=2) at errno.c:40 40 __gmp_junk = 10 / __gmp_0; (gdb) bt #0 0x281df6ce in __gmp_exception (error_bit=2) at errno.c:40 #1 0x00000206 in ?? () #2 0x0807b731 in zif_gmp_powm (ht=3, return_value=0x2820766c, this_ptr=0x0, return_value_used=1) at /usr/home/dave/php-5.0.0b3/ext/gmp/gmp.c:839 #3 0x0815e6ee in zend_do_fcall_common_helper (execute_data=0xbfbfe000, op_array=0x81c2134) at /usr/home/dave/php-5.0.0b3/Zend/zend_execute.c:2535 #4 0x0815bcef in execute (op_array=0x81c2134) at /usr/home/dave/php-5.0.0b3/Zend/zend_execute.c:1260 #5 0x08145be7 in zend_execute_scripts (type=8, retval=0x0, file_count=3) at /usr/home/dave/php-5.0.0b3/Zend/zend.c:1048 #6 0x0811bf17 in php_execute_script (primary_file=0xbfbff6ec) at /usr/home/dave/php-5.0.0b3/main/main.c:1638 #7 0x08164a1d in main (argc=2, argv=0xbfbff74c) at /usr/home/dave/php-5.0.0b3/sapi/cli/php_cli.c:910 #8 0x0806d4a5 in _start () ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=27172&edit=1