From b84e12266f85156f58804ff94ea110890f13b52d Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Thu, 16 Jun 2016 10:07:32 +0100 Subject: [PATCH] Fix the build and tests following constification of DH, DSA, RSA Misc fixes following the constification of the DH, DSA and RSA getters. Reviewed-by: Stephen Henson --- crypto/dh/dh_lib.c | 4 ++-- crypto/dsa/dsa_lib.c | 6 +++--- crypto/rsa/rsa_lib.c | 14 +++++++------- test/dhtest.c | 20 +++++++++----------- test/dsatest.c | 2 +- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/crypto/dh/dh_lib.c b/crypto/dh/dh_lib.c index 56f9db6769..adf1771514 100644 --- a/crypto/dh/dh_lib.c +++ b/crypto/dh/dh_lib.c @@ -199,8 +199,8 @@ int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) /* If the fields p and g in d are NULL, the corresponding input * parameters MUST be non-NULL. q may remain NULL. */ - if (dh->p == NULL && p == NULL - || dh->g == NULL && g == NULL) + if ((dh->p == NULL && p == NULL) + || (dh->g == NULL && g == NULL)) return 0; if (p != NULL) { diff --git a/crypto/dsa/dsa_lib.c b/crypto/dsa/dsa_lib.c index 8146330a54..9c001d7b1b 100644 --- a/crypto/dsa/dsa_lib.c +++ b/crypto/dsa/dsa_lib.c @@ -269,9 +269,9 @@ int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g) /* If the fields p, q and g in d are NULL, the corresponding input * parameters MUST be non-NULL. */ - if (d->p == NULL && p == NULL - || d->q == NULL && q == NULL - || d->g == NULL && g == NULL) + if ((d->p == NULL && p == NULL) + || (d->q == NULL && q == NULL) + || (d->g == NULL && g == NULL)) return 0; if (p != NULL) { diff --git a/crypto/rsa/rsa_lib.c b/crypto/rsa/rsa_lib.c index 540dc93fd5..87a326184c 100644 --- a/crypto/rsa/rsa_lib.c +++ b/crypto/rsa/rsa_lib.c @@ -236,8 +236,8 @@ int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) * parameters MUST be non-NULL for n and e. d may be * left NULL (in case only the public key is used). */ - if (r->n == NULL && n == NULL - || r->e == NULL && e == NULL) + if ((r->n == NULL && n == NULL) + || (r->e == NULL && e == NULL)) return 0; if (n != NULL) { @@ -261,8 +261,8 @@ int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q) /* If the fields p and q in r are NULL, the corresponding input * parameters MUST be non-NULL. */ - if (r->p == NULL && p == NULL - || r->q == NULL && q == NULL) + if ((r->p == NULL && p == NULL) + || (r->q == NULL && q == NULL)) return 0; if (p != NULL) { @@ -282,9 +282,9 @@ int RSA_set0_crt_params(RSA *r, BIGNUM *dmp1, BIGNUM *dmq1, BIGNUM *iqmp) /* If the fields dmp1, dmq1 and iqmp in r are NULL, the corresponding input * parameters MUST be non-NULL. */ - if (r->dmp1 == NULL && dmp1 == NULL - || r->dmq1 == NULL && dmq1 == NULL - || r->iqmp == NULL && iqmp == NULL) + if ((r->dmp1 == NULL && dmp1 == NULL) + || (r->dmq1 == NULL && dmq1 == NULL) + || (r->iqmp == NULL && iqmp == NULL)) return 0; if (dmp1 != NULL) { diff --git a/test/dhtest.c b/test/dhtest.c index 1dc395b44e..2847c5c038 100644 --- a/test/dhtest.c +++ b/test/dhtest.c @@ -40,8 +40,9 @@ int main(int argc, char *argv[]) BN_GENCB *_cb = NULL; DH *a = NULL; DH *b = NULL; - BIGNUM *ap = NULL, *ag = NULL, *bp = NULL, *bg = NULL, *apub_key = NULL; - BIGNUM *bpub_key = NULL, *priv_key = NULL; + const BIGNUM *ap = NULL, *ag = NULL, *apub_key = NULL, *priv_key = NULL; + const BIGNUM *bpub_key = NULL; + BIGNUM *bp = NULL, *bg = NULL; char buf[12] = {0}; unsigned char *abuf = NULL; unsigned char *bbuf = NULL; @@ -476,6 +477,7 @@ static int run_rfc5114_tests(void) unsigned char *Z2 = NULL; const rfc5114_td *td = NULL; BIGNUM *bady = NULL, *priv_key = NULL, *pub_key = NULL; + const BIGNUM *pub_key_tmp; for (i = 0; i < (int)OSSL_NELEM(rfctd); i++) { td = rfctd + i; @@ -511,17 +513,13 @@ static int run_rfc5114_tests(void) * Work out shared secrets using both sides and compare with expected * values. */ - DH_get0_key(dhB, &pub_key, NULL); - if (DH_compute_key(Z1, pub_key, dhA) == -1) { - pub_key = NULL; + DH_get0_key(dhB, &pub_key_tmp, NULL); + if (DH_compute_key(Z1, pub_key_tmp, dhA) == -1) goto bad_err; - } - DH_get0_key(dhA, &pub_key, NULL); - if (DH_compute_key(Z2, pub_key, dhB) == -1) { - pub_key = NULL; + + DH_get0_key(dhA, &pub_key_tmp, NULL); + if (DH_compute_key(Z2, pub_key_tmp, dhB) == -1) goto bad_err; - } - pub_key = NULL; if (memcmp(Z1, td->Z, td->Z_len)) goto err; diff --git a/test/dsatest.c b/test/dsatest.c index b99c467e17..10854224aa 100644 --- a/test/dsatest.c +++ b/test/dsatest.c @@ -85,7 +85,7 @@ int main(int argc, char **argv) unsigned long h; unsigned char sig[256]; unsigned int siglen; - BIGNUM *p = NULL, *q = NULL, *g = NULL; + const BIGNUM *p = NULL, *q = NULL, *g = NULL; if (bio_err == NULL) bio_err = BIO_new_fp(stderr, BIO_NOCLOSE | BIO_FP_TEXT); -- GitLab