diff options
author | Rich Salz <rsalz@openssl.org> | 2015-04-30 21:37:06 -0400 |
---|---|---|
committer | Rich Salz <rsalz@openssl.org> | 2015-04-30 21:37:06 -0400 |
commit | 23a1d5e97cd543d2b8e1b01dbf0f619b2e5ce540 (patch) | |
tree | 2d9372864fc2b34939d21b3706768ec225c9548f /engines/ccgost/gost_sign.c | |
parent | 34166d41892643a36ad2d1f53cc0025e2edc2a39 (diff) | |
download | openssl-23a1d5e97cd543d2b8e1b01dbf0f619b2e5ce540.tar.gz |
free NULL cleanup 7
This gets BN_.*free:
BN_BLINDING_free BN_CTX_free BN_FLG_FREE BN_GENCB_free
BN_MONT_CTX_free BN_RECP_CTX_free BN_clear_free BN_free BUF_MEM_free
Also fix a call to DSA_SIG_free to ccgost engine and remove some #ifdef'd
dead code in engines/e_ubsec.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'engines/ccgost/gost_sign.c')
-rw-r--r-- | engines/ccgost/gost_sign.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/engines/ccgost/gost_sign.c b/engines/ccgost/gost_sign.c index c2516ead0e..543c399688 100644 --- a/engines/ccgost/gost_sign.c +++ b/engines/ccgost/gost_sign.c @@ -114,13 +114,11 @@ DSA_SIG *gost_do_sign(const unsigned char *dgst, int dlen, DSA *dsa) ret = newsig; err: BN_free(md); - if (ctx) { + if (ctx) BN_CTX_end(ctx); - BN_CTX_free(ctx); - } - if (!ret && newsig) { + BN_CTX_free(ctx); + if (!ret) DSA_SIG_free(newsig); - } return ret; } @@ -214,13 +212,11 @@ int gost_do_verify(const unsigned char *dgst, int dgst_len, GOSTerr(GOST_F_GOST_DO_VERIFY, GOST_R_SIGNATURE_MISMATCH); } err: - if (md) - BN_free(md); - if (ctx) { + BN_free(md); + if (ctx) BN_CTX_end(ctx); - BN_CTX_free(ctx); - } - return ok; + BN_CTX_free(ctx); + return (ok == 0); } /* @@ -268,19 +264,13 @@ int fill_GOST94_params(DSA *dsa, int nid) return 0; } #define dump_signature(a,b,c) - if (dsa->p) { - BN_free(dsa->p); - } + BN_free(dsa->p); dsa->p = NULL; BN_dec2bn(&(dsa->p), params->p); - if (dsa->q) { - BN_free(dsa->q); - } + BN_free(dsa->q); dsa->q = NULL; BN_dec2bn(&(dsa->q), params->q); - if (dsa->g) { - BN_free(dsa->g); - } + BN_free(dsa->g); dsa->g = NULL; BN_dec2bn(&(dsa->g), params->a); return 1; |