if (ret == 0)
err = 1;
- _gnutls_mpi_add_ui(r, r, 1);
+ ret = _gnutls_mpi_add_ui(r, r, 1);
+ if (ret < 0) {
+ _gnutls_mpi_release(&r);
+ return gnutls_assert_val(ret);
+ }
+
ret = _gnutls_mpi_cmp(r, n);
if (ret == 0)
err = 1;
/* q = n-1
*/
- _gnutls_mpi_sub_ui(q, n, 1);
+ ret = _gnutls_mpi_sub_ui(q, n, 1);
+ if (ret < 0) {
+ gnutls_assert();
+ goto error;
+ }
/* q = q/2, remember that q is divisible by 2 (prime - 1)
*/
/* w++
*/
- _gnutls_mpi_add_ui(w, w, 1);
+ ret = _gnutls_mpi_add_ui(w, w, 1);
+ if (ret < 0) {
+ gnutls_assert();
+ goto error;
+ }
if (_gnutls_mpi_cmp(w, n) != 0) {
gnutls_assert();
const bigint_t a,
const bigint_t b);
/* w = a * b */
- bigint_t(*bigint_mul) (bigint_t w, const bigint_t a,
+ bigint_t(*bigint_mul) (bigint_t w, const bigint_t a,
const bigint_t b);
/* w = a + b */
- bigint_t(*bigint_add_ui) (bigint_t w, const bigint_t a,
+ int (*bigint_add_ui) (bigint_t w, const bigint_t a,
unsigned long b);
/* w = a - b */
- bigint_t(*bigint_sub_ui) (bigint_t w, const bigint_t a,
+ int (*bigint_sub_ui) (bigint_t w, const bigint_t a,
unsigned long b);
/* w = a * b */
- bigint_t(*bigint_mul_ui) (bigint_t w, const bigint_t a,
+ int (*bigint_mul_ui) (bigint_t w, const bigint_t a,
unsigned long b);
/* q = a / b */
bigint_t(*bigint_div) (bigint_t q, const bigint_t a,
goto cleanup;
}
- if (_gnutls_mpi_cmp_ui(tmp, 0) == 0)
- _gnutls_mpi_add_ui(tmp, tmp, 1);
+ if (_gnutls_mpi_cmp_ui(tmp, 0) == 0) {
+ ret = _gnutls_mpi_add_ui(tmp, tmp, 1);
+ if (ret < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
+ }
if (buf_release != 0) {
gnutls_free(buf);
return q;
}
-static bigint_t
+static int
wrap_nettle_mpi_add_ui(bigint_t w, const bigint_t a, unsigned long b)
{
-int ret;
-
- if (w == NULL) {
- ret = wrap_nettle_mpi_init(&w);
- if (ret < 0)
- return NULL;
- }
-
mpz_add_ui(TOMPZ(w), TOMPZ(a), b);
- return w;
+ return 0;
}
static bigint_t
wrap_nettle_mpi_sub_ui(bigint_t w, const bigint_t a, unsigned long b)
{
-int ret;
-
- if (w == NULL) {
- ret = wrap_nettle_mpi_init(&w);
- if (ret < 0)
- return NULL;
- }
-
mpz_sub_ui(TOMPZ(w), TOMPZ(a), b);
- return w;
-
+ return 0;
}
-static bigint_t
+static int
wrap_nettle_mpi_mul_ui(bigint_t w, const bigint_t a, unsigned long b)
{
-int ret;
-
- if (w == NULL) {
- ret = wrap_nettle_mpi_init(&w);
- if (ret < 0)
- return NULL;
- }
-
mpz_mul_ui(TOMPZ(w), TOMPZ(a), b);
- return w;
-
+ return 0;
}
static int wrap_nettle_prime_check(bigint_t pp)
goto dh_cleanup;
}
- _gnutls_mpi_add_ui(ff, ff, 1);
+ ret = _gnutls_mpi_add_ui(ff, ff, 1);
+ if (ret < 0) {
+ gnutls_assert();
+ goto dh_cleanup;
+ }
/* check if f==0,1,p-1.
* or (ff=f+1) equivalently ff==1,2,p */
gnutls_assert();
goto cleanup;
}
- _gnutls_mpi_add_ui(num_b1, num_b1, 1);
+
+ rc = _gnutls_mpi_add_ui(num_b1, num_b1, 1);
+ if (rc < 0) {
+ gnutls_assert();
+ goto cleanup;
+ }
+
for (i = 0; i < 128; i += 64) {
n = 64;
rc = _gnutls_mpi_init_scan(&num_ij, buf_i + i, n);