cvs: php-src(PHP_5_3) /ext/gmp gmp.c
| From: | Antony Dovgal | Date: | Thu, 01 Nov 2007 09:34:19 +0000 |
| Subject: | cvs: php-src(PHP_5_3) /ext/gmp gmp.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-46856@lists.php.net to get a copy of this message | ||
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);