summaryrefslogtreecommitdiffstats
path: root/src/sh_srp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/sh_srp.c')
-rw-r--r--src/sh_srp.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/sh_srp.c b/src/sh_srp.c
index ecc757c..ab6cbcf 100644
--- a/src/sh_srp.c
+++ b/src/sh_srp.c
@@ -47,14 +47,14 @@ int big_errno = BIG_OK;
#define bignum MP_INT
-inline
+static
int big_create (bignum * a)
{
mpz_init(a);
return 0;
}
-inline
+static
int big_zerop (bignum * a)
{
mpz_t b;
@@ -68,14 +68,14 @@ int big_zerop (bignum * a)
return 1;
}
-inline
+static
int big_trunc (bignum * a, bignum * b, bignum * q, bignum *r)
{
mpz_tdiv_qr(q, r, a, b);
return 0;
}
-inline
+static
int big_exptmod (bignum * a, bignum * b, bignum * c, bignum *d)
{
mpz_powm(d, a, b, c);
@@ -118,7 +118,13 @@ char * big_string (bignum * a, int base)
if (ptr)
get_str_internal = ptr;
else
- { free(get_str_internal); get_str_internal = NULL; }
+ {
+ /* "If realloc() fails, the original block is left untouched;
+ * it is not freed or moved." */
+ /* cppcheck-suppress doubleFree */
+ free(get_str_internal);
+ get_str_internal = NULL;
+ }
}
if (get_str_internal == NULL)
{
@@ -135,34 +141,34 @@ char * big_string (bignum * a, int base)
return get_str_internal;
}
-inline
+static
int big_add(bignum * a, bignum * b, bignum * c)
{
mpz_add(c, a, b);
return 0;
}
-inline
+static
int big_sub(bignum * a, bignum * b, bignum * c)
{
mpz_sub(c, a, b);
return 0;
}
-inline
+static
int big_mul(bignum * a, bignum * b, bignum * c)
{
mpz_mul(c, a, b);
return 0;
}
-inline
+static
int big_greaterp(bignum * a, bignum * b)
{
return mpz_cmp(a, b) > 0;
}
-inline
+static
int big_set_big(bignum * a, bignum * b)
{
mpz_set(b, a);
@@ -170,7 +176,7 @@ int big_set_big(bignum * a, bignum * b)
}
-inline
+static
int big_set_string(const char * str, int base, bignum * a)
{
mpz_set_str (a, str, base);