From d64070838ebba86f00fb3755df5d3e65106e1628 Mon Sep 17 00:00:00 2001 From: Rich Salz Date: Tue, 24 Mar 2015 10:17:37 -0400 Subject: free NULL cleanup Start ensuring all OpenSSL "free" routines allow NULL, and remove any if check before calling them. This gets DH_free, DSA_free, RSA_free Reviewed-by: Matt Caswell --- apps/dh.c | 3 +-- apps/dhparam.c | 6 ++---- apps/dsa.c | 3 +-- apps/dsaparam.c | 3 +-- apps/gendh.c | 3 +-- apps/gendsa.c | 3 +-- apps/genrsa.c | 3 +-- apps/rsa.c | 3 +-- apps/s_server.c | 3 +-- apps/speed.c | 6 ++---- 10 files changed, 12 insertions(+), 24 deletions(-) (limited to 'apps') diff --git a/apps/dh.c b/apps/dh.c index cdb5f4a1b0..a9216336e5 100644 --- a/apps/dh.c +++ b/apps/dh.c @@ -314,8 +314,7 @@ int MAIN(int argc, char **argv) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (dh != NULL) - DH_free(dh); + DH_free(dh); apps_shutdown(); OPENSSL_EXIT(ret); } diff --git a/apps/dhparam.c b/apps/dhparam.c index 0e6a3c3198..12a2be6455 100644 --- a/apps/dhparam.c +++ b/apps/dhparam.c @@ -319,8 +319,7 @@ int MAIN(int argc, char **argv) if (!dsa || !DSA_generate_parameters_ex(dsa, num, NULL, 0, NULL, NULL, cb)) { - if (dsa) - DSA_free(dsa); + DSA_free(dsa); BN_GENCB_free(cb); ERR_print_errors(bio_err); goto end; @@ -520,8 +519,7 @@ int MAIN(int argc, char **argv) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (dh != NULL) - DH_free(dh); + DH_free(dh); apps_shutdown(); OPENSSL_EXIT(ret); } diff --git a/apps/dsa.c b/apps/dsa.c index 7ff6ee960f..8d085bcef2 100644 --- a/apps/dsa.c +++ b/apps/dsa.c @@ -360,8 +360,7 @@ int MAIN(int argc, char **argv) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (dsa != NULL) - DSA_free(dsa); + DSA_free(dsa); if (passin) OPENSSL_free(passin); if (passout) diff --git a/apps/dsaparam.c b/apps/dsaparam.c index 74eefdc871..fc1c817604 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -438,8 +438,7 @@ int MAIN(int argc, char **argv) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (dsa != NULL) - DSA_free(dsa); + DSA_free(dsa); apps_shutdown(); OPENSSL_EXIT(ret); } diff --git a/apps/gendh.c b/apps/gendh.c index bbeba06714..6102b79511 100644 --- a/apps/gendh.c +++ b/apps/gendh.c @@ -212,8 +212,7 @@ int MAIN(int argc, char **argv) ERR_print_errors(bio_err); if (out != NULL) BIO_free_all(out); - if (dh != NULL) - DH_free(dh); + DH_free(dh); if (cb != NULL) BN_GENCB_free(cb); apps_shutdown(); diff --git a/apps/gendsa.c b/apps/gendsa.c index fd1360acd5..d330a01002 100644 --- a/apps/gendsa.c +++ b/apps/gendsa.c @@ -271,8 +271,7 @@ int MAIN(int argc, char **argv) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (dsa != NULL) - DSA_free(dsa); + DSA_free(dsa); if (passout) OPENSSL_free(passout); apps_shutdown(); diff --git a/apps/genrsa.c b/apps/genrsa.c index 5770c8d1ec..1b06c82e40 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -311,8 +311,7 @@ int MAIN(int argc, char **argv) BN_free(bn); if (cb) BN_GENCB_free(cb); - if (rsa) - RSA_free(rsa); + RSA_free(rsa); if (out) BIO_free_all(out); if (passout) diff --git a/apps/rsa.c b/apps/rsa.c index 419e50455a..ac4a3c43ef 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -424,8 +424,7 @@ int MAIN(int argc, char **argv) end: if (out != NULL) BIO_free_all(out); - if (rsa != NULL) - RSA_free(rsa); + RSA_free(rsa); if (passin) OPENSSL_free(passin); if (passout) diff --git a/apps/s_server.c b/apps/s_server.c index 298e665d97..97aa23da19 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -3180,8 +3180,7 @@ static RSA *tmp_rsa_cb(SSL *s, int is_export, int keylength) } if (!BN_set_word(bn, RSA_F4) || ((rsa_tmp = RSA_new()) == NULL) || !RSA_generate_key_ex(rsa_tmp, keylength, bn, NULL)) { - if (rsa_tmp) - RSA_free(rsa_tmp); + RSA_free(rsa_tmp); rsa_tmp = NULL; } if (!s_quiet) { diff --git a/apps/speed.c b/apps/speed.c index 44c276ab21..b023f2877f 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -2448,13 +2448,11 @@ int MAIN(int argc, char **argv) OPENSSL_free(buf2_malloc); #ifndef OPENSSL_NO_RSA for (i = 0; i < RSA_NUM; i++) - if (rsa_key[i] != NULL) - RSA_free(rsa_key[i]); + RSA_free(rsa_key[i]); #endif #ifndef OPENSSL_NO_DSA for (i = 0; i < DSA_NUM; i++) - if (dsa_key[i] != NULL) - DSA_free(dsa_key[i]); + DSA_free(dsa_key[i]); #endif #ifndef OPENSSL_NO_EC -- cgit v1.2.3