diff options
| author | jsing <> | 2019-10-31 12:46:02 +0000 |
|---|---|---|
| committer | jsing <> | 2019-10-31 12:46:02 +0000 |
| commit | 35e7e794e10b500c267c0ea91c548291bbb7adfe (patch) | |
| tree | 2e298a185b635e0a2c5b74af46ceea83508dfb09 /src/lib/libc | |
| parent | 368b0c79b791b96e1c0ca19df9772173aebde076 (diff) | |
| download | openbsd-35e7e794e10b500c267c0ea91c548291bbb7adfe.tar.gz openbsd-35e7e794e10b500c267c0ea91c548291bbb7adfe.tar.bz2 openbsd-35e7e794e10b500c267c0ea91c548291bbb7adfe.zip | |
Clean up some code.
Assign and test, explicitly test against NULL and use calloc() rather than
malloc.
ok inoguchi@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/rsa/rsa_pmeth.c | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/lib/libcrypto/rsa/rsa_pmeth.c b/src/lib/libcrypto/rsa/rsa_pmeth.c index fd567658c2..4132d06639 100644 --- a/src/lib/libcrypto/rsa/rsa_pmeth.c +++ b/src/lib/libcrypto/rsa/rsa_pmeth.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: rsa_pmeth.c,v 1.25 2019/10/31 12:32:48 jsing Exp $ */ | 1 | /* $OpenBSD: rsa_pmeth.c,v 1.26 2019/10/31 12:46:02 jsing Exp $ */ |
| 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
| 3 | * project 2006. | 3 | * project 2006. |
| 4 | */ | 4 | */ |
| @@ -149,11 +149,12 @@ pkey_rsa_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) | |||
| 149 | static int | 149 | static int |
| 150 | setup_tbuf(RSA_PKEY_CTX *ctx, EVP_PKEY_CTX *pk) | 150 | setup_tbuf(RSA_PKEY_CTX *ctx, EVP_PKEY_CTX *pk) |
| 151 | { | 151 | { |
| 152 | if (ctx->tbuf) | 152 | if (ctx->tbuf != NULL) |
| 153 | return 1; | 153 | return 1; |
| 154 | ctx->tbuf = malloc(EVP_PKEY_size(pk->pkey)); | 154 | if ((ctx->tbuf = calloc(1, EVP_PKEY_size(pk->pkey))) == NULL) { |
| 155 | if (!ctx->tbuf) | 155 | RSAerror(ERR_R_MALLOC_FAILURE); |
| 156 | return 0; | 156 | return 0; |
| 157 | } | ||
| 157 | return 1; | 158 | return 1; |
| 158 | } | 159 | } |
| 159 | 160 | ||
| @@ -635,19 +636,20 @@ pkey_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey) | |||
| 635 | BN_GENCB *pcb, cb; | 636 | BN_GENCB *pcb, cb; |
| 636 | int ret; | 637 | int ret; |
| 637 | 638 | ||
| 638 | if (!rctx->pub_exp) { | 639 | if (rctx->pub_exp == NULL) { |
| 639 | rctx->pub_exp = BN_new(); | 640 | if ((rctx->pub_exp = BN_new()) == NULL) |
| 640 | if (!rctx->pub_exp || !BN_set_word(rctx->pub_exp, RSA_F4)) | 641 | return 0; |
| 642 | if (!BN_set_word(rctx->pub_exp, RSA_F4)) | ||
| 641 | return 0; | 643 | return 0; |
| 642 | } | 644 | } |
| 643 | rsa = RSA_new(); | 645 | if ((rsa = RSA_new()) == NULL) |
| 644 | if (!rsa) | ||
| 645 | return 0; | 646 | return 0; |
| 646 | if (ctx->pkey_gencb) { | 647 | if (ctx->pkey_gencb != NULL) { |
| 647 | pcb = &cb; | 648 | pcb = &cb; |
| 648 | evp_pkey_set_cb_translate(pcb, ctx); | 649 | evp_pkey_set_cb_translate(pcb, ctx); |
| 649 | } else | 650 | } else { |
| 650 | pcb = NULL; | 651 | pcb = NULL; |
| 652 | } | ||
| 651 | ret = RSA_generate_key_ex(rsa, rctx->nbits, rctx->pub_exp, pcb); | 653 | ret = RSA_generate_key_ex(rsa, rctx->nbits, rctx->pub_exp, pcb); |
| 652 | if (ret > 0) | 654 | if (ret > 0) |
| 653 | EVP_PKEY_assign_RSA(pkey, rsa); | 655 | EVP_PKEY_assign_RSA(pkey, rsa); |
