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

Reply via email to