tony2001 Thu Nov 1 09:34:19 2007 UTC Modified files: (Branch: PHP_5_3) /php-src/ext/gmp gmp.c Log: fix reading uninitialized values http://cvs.php.net/viewvc.cgi/php-src/ext/gmp/gmp.c?r1=1.49.2.2.2.11.2.3&r2=1.49.2.2.2.11.2.4&diff_format=u Index: php-src/ext/gmp/gmp.c diff -u php-src/ext/gmp/gmp.c:1.49.2.2.2.11.2.3 php-src/ext/gmp/gmp.c:1.49.2.2.2.11.2.4 --- php-src/ext/gmp/gmp.c:1.49.2.2.2.11.2.3 Thu Nov 1 09:25:09 2007 +++ php-src/ext/gmp/gmp.c Thu Nov 1 09:34:18 2007 @@ -1064,8 +1064,8 @@ mpz_ui_pow_ui(*gmpnum_result, Z_LVAL_PP(base_arg), exp); } else { mpz_pow_ui(*gmpnum_result, *gmpnum_base, exp); + FREE_GMP_TEMP(temp_base); } - FREE_GMP_TEMP(temp_base); ZEND_REGISTER_RESOURCE(return_value, gmpnum_result, le_gmp); } /* }}} */ @@ -1098,7 +1098,9 @@ if (!mpz_cmp_ui(*gmpnum_mod, 0)) { FREE_GMP_TEMP(temp_base); - FREE_GMP_TEMP(temp_exp); + if (use_ui) { + FREE_GMP_TEMP(temp_exp); + } FREE_GMP_TEMP(temp_mod); RETURN_FALSE; } @@ -1108,10 +1110,10 @@ mpz_powm_ui(*gmpnum_result, *gmpnum_base, (unsigned long)Z_LVAL_PP(exp_arg), *gmpnum_mod); } else { mpz_powm(*gmpnum_result, *gmpnum_base, *gmpnum_exp, *gmpnum_mod); + FREE_GMP_TEMP(temp_exp); } FREE_GMP_TEMP(temp_base); - FREE_GMP_TEMP(temp_exp); FREE_GMP_TEMP(temp_mod); ZEND_REGISTER_RESOURCE(return_value, gmpnum_result, le_gmp);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php