iliaa           Sun Feb 15 12:23:13 2004 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/gmp    gmp.c 
  Log:
  MFH: Fixed bug #27258 (moved FPE check to correct location).
       Fixed several possible FPE.
  
  
http://cvs.php.net/diff.php/php-src/ext/gmp/gmp.c?r1=1.29.4.8&r2=1.29.4.9&ty=u
Index: php-src/ext/gmp/gmp.c
diff -u php-src/ext/gmp/gmp.c:1.29.4.8 php-src/ext/gmp/gmp.c:1.29.4.9
--- php-src/ext/gmp/gmp.c:1.29.4.8      Sun Feb  8 23:28:07 2004
+++ php-src/ext/gmp/gmp.c       Sun Feb 15 12:23:11 2004
@@ -309,6 +309,11 @@
                FETCH_GMP_ZVAL(gmpnum_b, b_arg);
        }
 
+       convert_to_long_ex(b_arg);
+       if (!Z_LVAL_PP(b_arg)) {
+               RETURN_FALSE;
+       }
+
        INIT_GMP_NUM(gmpnum_result);
        if(use_ui && gmp_ui_op) {
                if(allow_ui_return) {
@@ -348,6 +353,11 @@
                FETCH_GMP_ZVAL(gmpnum_b, b_arg);
        }
 
+       convert_to_long_ex(b_arg);
+       if (!Z_LVAL_PP(b_arg)) {
+               RETURN_FALSE;
+       }
+
        INIT_GMP_NUM(gmpnum_result1);
        INIT_GMP_NUM(gmpnum_result2);
 
@@ -814,11 +824,6 @@
                WRONG_PARAM_COUNT;
        }
 
-       convert_to_long_ex(mod_arg);
-       if (!Z_LVAL_PP(mod_arg)) {
-               RETURN_FALSE;
-       }
-
        FETCH_GMP_ZVAL(gmpnum_base, base_arg);
        if(Z_TYPE_PP(exp_arg) == IS_LONG && Z_LVAL_PP(exp_arg) >= 0) {
                use_ui=1;
@@ -827,6 +832,11 @@
        }
        FETCH_GMP_ZVAL(gmpnum_mod, mod_arg);
 
+       convert_to_long_ex(mod_arg);
+       if (!Z_LVAL_PP(mod_arg)) {
+               RETURN_FALSE;
+       }
+
        INIT_GMP_NUM(gmpnum_result);
        if(use_ui) {
                mpz_powm_ui(*gmpnum_result, *gmpnum_base, (unsigned 
long)Z_LVAL_PP(exp_arg), *gmpnum_mod);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to