From: Nikos Mavrogiannopoulos Date: Fri, 2 May 2014 07:10:49 +0000 (+0200) Subject: simplify casting to mpz_t using __mpz_struct and cleaned up mpz_t access. X-Git-Tag: gnutls_3_3_2~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9159e8a770f474e7934b1b7db54cd9d347753b34;p=thirdparty%2Fgnutls.git simplify casting to mpz_t using __mpz_struct and cleaned up mpz_t access. --- diff --git a/lib/nettle/gnettle.h b/lib/nettle/gnettle.h index 25c873e9fd..e27149c3ea 100644 --- a/lib/nettle/gnettle.h +++ b/lib/nettle/gnettle.h @@ -1,2 +1,3 @@ #define PRIME_CHECK_PARAM 8 #define TOMPZ(x) ((__mpz_struct*)(x)) +#define SIZEOF_MPZT sizeof(__mpz_struct) diff --git a/lib/nettle/mpi.c b/lib/nettle/mpi.c index 12e7a19502..7940b3caa1 100644 --- a/lib/nettle/mpi.c +++ b/lib/nettle/mpi.c @@ -71,16 +71,15 @@ wrap_nettle_mpi_print(const bigint_t a, void *buffer, size_t * nbytes, static int wrap_nettle_mpi_init(bigint_t *w) { -mpz_t *r; +bigint_t r; - r = gnutls_malloc(sizeof(*r)); + r = gnutls_malloc(SIZEOF_MPZT); if (r == NULL) { gnutls_assert(); return GNUTLS_E_MEMORY_ERROR; } - mpz_init(*r); - + mpz_init(TOMPZ(r)); *w = r; return 0; diff --git a/lib/nettle/pk.c b/lib/nettle/pk.c index 3f9bd3884f..303cbaa78e 100644 --- a/lib/nettle/pk.c +++ b/lib/nettle/pk.c @@ -83,33 +83,33 @@ static void _dsa_params_to_pubkey(const gnutls_pk_params_st * pk_params, struct dsa_public_key *pub) { - memcpy(&pub->p, pk_params->params[DSA_P], sizeof(mpz_t)); + memcpy(pub->p, pk_params->params[DSA_P], SIZEOF_MPZT); if (pk_params->params[DSA_Q]) memcpy(&pub->q, pk_params->params[DSA_Q], sizeof(mpz_t)); - memcpy(&pub->g, pk_params->params[DSA_G], sizeof(mpz_t)); + memcpy(pub->g, pk_params->params[DSA_G], SIZEOF_MPZT); if (pk_params->params[DSA_Y] != NULL) - memcpy(&pub->y, pk_params->params[DSA_Y], sizeof(mpz_t)); + memcpy(pub->y, pk_params->params[DSA_Y], SIZEOF_MPZT); } static void _dsa_params_to_privkey(const gnutls_pk_params_st * pk_params, struct dsa_private_key *pub) { - memcpy(&pub->x, pk_params->params[4], sizeof(mpz_t)); + memcpy(pub->x, pk_params->params[4], SIZEOF_MPZT); } static void _rsa_params_to_privkey(const gnutls_pk_params_st * pk_params, struct rsa_private_key *priv) { - memcpy(&priv->d, pk_params->params[2], sizeof(mpz_t)); - memcpy(&priv->p, pk_params->params[3], sizeof(mpz_t)); - memcpy(&priv->q, pk_params->params[4], sizeof(mpz_t)); - memcpy(&priv->c, pk_params->params[5], sizeof(mpz_t)); - memcpy(&priv->a, pk_params->params[6], sizeof(mpz_t)); - memcpy(&priv->b, pk_params->params[7], sizeof(mpz_t)); + memcpy(priv->d, pk_params->params[2], SIZEOF_MPZT); + memcpy(priv->p, pk_params->params[3], SIZEOF_MPZT); + memcpy(priv->q, pk_params->params[4], SIZEOF_MPZT); + memcpy(priv->c, pk_params->params[5], SIZEOF_MPZT); + memcpy(priv->a, pk_params->params[6], SIZEOF_MPZT); + memcpy(priv->b, pk_params->params[7], SIZEOF_MPZT); priv->size = nettle_mpz_sizeinbase_256_u(TOMPZ (pk_params->params[RSA_MODULUS])); @@ -119,8 +119,8 @@ static void _rsa_params_to_pubkey(const gnutls_pk_params_st * pk_params, struct rsa_public_key *pub) { - memcpy(&pub->n, pk_params->params[RSA_MODULUS], sizeof(mpz_t)); - memcpy(&pub->e, pk_params->params[RSA_PUB], sizeof(mpz_t)); + memcpy(pub->n, pk_params->params[RSA_MODULUS], SIZEOF_MPZT); + memcpy(pub->e, pk_params->params[RSA_PUB], SIZEOF_MPZT); pub->size = nettle_mpz_sizeinbase_256_u(pub->n); } @@ -633,8 +633,8 @@ _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo, goto cleanup; } - memcpy(&sig.r, tmp[0], sizeof(sig.r)); - memcpy(&sig.s, tmp[1], sizeof(sig.s)); + memcpy(sig.r, tmp[0], SIZEOF_MPZT); + memcpy(sig.s, tmp[1], SIZEOF_MPZT); _gnutls_dsa_q_to_hash(algo, pk_params, &hash_len); @@ -667,8 +667,8 @@ _wrap_nettle_pk_verify(gnutls_pk_algorithm_t algo, } memset(&pub, 0, sizeof(pub)); _dsa_params_to_pubkey(pk_params, &pub); - memcpy(&sig.r, tmp[0], sizeof(sig.r)); - memcpy(&sig.s, tmp[1], sizeof(sig.s)); + memcpy(sig.r, tmp[0], SIZEOF_MPZT); + memcpy(sig.s, tmp[1], SIZEOF_MPZT); _gnutls_dsa_q_to_hash(algo, pk_params, &hash_len);