]> granicus.if.org Git - php/commitdiff
MFH
authorAntony Dovgal <tony2001@php.net>
Wed, 18 Apr 2007 20:53:28 +0000 (20:53 +0000)
committerAntony Dovgal <tony2001@php.net>
Wed, 18 Apr 2007 20:53:28 +0000 (20:53 +0000)
ext/gmp/gmp.c

index f71ab753ef32e56a17253ffa08c00afb25461cae..b8e036ee624cc89e5d7abeb1c4ea9941115add5a 100644 (file)
@@ -1572,6 +1572,11 @@ ZEND_FUNCTION(gmp_scan0)
        FETCH_GMP_ZVAL(gmpnum_a, a_arg);
        convert_to_long_ex(start_arg);
 
+       if (Z_LVAL_PP(start_arg) < 0) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Starting index must be greater than or equal to zero");
+               RETURN_FALSE;
+       }
+
        RETURN_LONG(mpz_scan0(*gmpnum_a, Z_LVAL_PP(start_arg)));
 }
 /* }}} */
@@ -1589,6 +1594,11 @@ ZEND_FUNCTION(gmp_scan1)
 
        FETCH_GMP_ZVAL(gmpnum_a, a_arg);
        convert_to_long_ex(start_arg);
+       
+       if (Z_LVAL_PP(start_arg) < 0) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Starting index must be greater than or equal to zero");
+               RETURN_FALSE;
+       }
 
        RETURN_LONG(mpz_scan1(*gmpnum_a, Z_LVAL_PP(start_arg)));
 }