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