diff options
| author | jsing <> | 2014-06-07 14:10:35 +0000 |
|---|---|---|
| committer | jsing <> | 2014-06-07 14:10:35 +0000 |
| commit | 95268644eba97927cec83c548e0ec2c504f7df63 (patch) | |
| tree | 827d5a799fe09599039564d7a3a27bf8ba15a731 /src/lib/libssl/ssl_cert.c | |
| parent | eb1325b75a91858984607e2d54e61ee64e72958b (diff) | |
| download | openbsd-95268644eba97927cec83c548e0ec2c504f7df63.tar.gz openbsd-95268644eba97927cec83c548e0ec2c504f7df63.tar.bz2 openbsd-95268644eba97927cec83c548e0ec2c504f7df63.zip | |
The DH_free, EC_KEY_free, EVP_PKEY_free and RSA_free functions all have
implicit NULL checks, so there is no point ensuring that the pointer is
non-NULL before calling them.
Diffstat (limited to 'src/lib/libssl/ssl_cert.c')
| -rw-r--r-- | src/lib/libssl/ssl_cert.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c index 4c3af75869..44efb64dea 100644 --- a/src/lib/libssl/ssl_cert.c +++ b/src/lib/libssl/ssl_cert.c | |||
| @@ -299,18 +299,14 @@ ssl_cert_dup(CERT *cert) | |||
| 299 | return (ret); | 299 | return (ret); |
| 300 | 300 | ||
| 301 | err: | 301 | err: |
| 302 | if (ret->rsa_tmp != NULL) | 302 | RSA_free(ret->rsa_tmp); |
| 303 | RSA_free(ret->rsa_tmp); | 303 | DH_free(ret->dh_tmp); |
| 304 | if (ret->dh_tmp != NULL) | 304 | EC_KEY_free(ret->ecdh_tmp); |
| 305 | DH_free(ret->dh_tmp); | ||
| 306 | if (ret->ecdh_tmp != NULL) | ||
| 307 | EC_KEY_free(ret->ecdh_tmp); | ||
| 308 | 305 | ||
| 309 | for (i = 0; i < SSL_PKEY_NUM; i++) { | 306 | for (i = 0; i < SSL_PKEY_NUM; i++) { |
| 310 | if (ret->pkeys[i].x509 != NULL) | 307 | if (ret->pkeys[i].x509 != NULL) |
| 311 | X509_free(ret->pkeys[i].x509); | 308 | X509_free(ret->pkeys[i].x509); |
| 312 | if (ret->pkeys[i].privatekey != NULL) | 309 | EVP_PKEY_free(ret->pkeys[i].privatekey); |
| 313 | EVP_PKEY_free(ret->pkeys[i].privatekey); | ||
| 314 | } | 310 | } |
| 315 | 311 | ||
| 316 | return NULL; | 312 | return NULL; |
| @@ -329,19 +325,16 @@ ssl_cert_free(CERT *c) | |||
| 329 | if (i > 0) | 325 | if (i > 0) |
| 330 | return; | 326 | return; |
| 331 | 327 | ||
| 332 | if (c->rsa_tmp) | 328 | RSA_free(c->rsa_tmp); |
| 333 | RSA_free(c->rsa_tmp); | 329 | DH_free(c->dh_tmp); |
| 334 | if (c->dh_tmp) | 330 | EC_KEY_free(c->ecdh_tmp); |
| 335 | DH_free(c->dh_tmp); | ||
| 336 | if (c->ecdh_tmp) | ||
| 337 | EC_KEY_free(c->ecdh_tmp); | ||
| 338 | 331 | ||
| 339 | for (i = 0; i < SSL_PKEY_NUM; i++) { | 332 | for (i = 0; i < SSL_PKEY_NUM; i++) { |
| 340 | if (c->pkeys[i].x509 != NULL) | 333 | if (c->pkeys[i].x509 != NULL) |
| 341 | X509_free(c->pkeys[i].x509); | 334 | X509_free(c->pkeys[i].x509); |
| 342 | if (c->pkeys[i].privatekey != NULL) | 335 | EVP_PKEY_free(c->pkeys[i].privatekey); |
| 343 | EVP_PKEY_free(c->pkeys[i].privatekey); | ||
| 344 | } | 336 | } |
| 337 | |||
| 345 | free(c); | 338 | free(c); |
| 346 | } | 339 | } |
| 347 | 340 | ||
| @@ -408,12 +401,9 @@ ssl_sess_cert_free(SESS_CERT *sc) | |||
| 408 | X509_free(sc->peer_pkeys[i].x509); | 401 | X509_free(sc->peer_pkeys[i].x509); |
| 409 | } | 402 | } |
| 410 | 403 | ||
| 411 | if (sc->peer_rsa_tmp != NULL) | 404 | RSA_free(sc->peer_rsa_tmp); |
| 412 | RSA_free(sc->peer_rsa_tmp); | 405 | DH_free(sc->peer_dh_tmp); |
| 413 | if (sc->peer_dh_tmp != NULL) | 406 | EC_KEY_free(sc->peer_ecdh_tmp); |
| 414 | DH_free(sc->peer_dh_tmp); | ||
| 415 | if (sc->peer_ecdh_tmp != NULL) | ||
| 416 | EC_KEY_free(sc->peer_ecdh_tmp); | ||
| 417 | 407 | ||
| 418 | free(sc); | 408 | free(sc); |
| 419 | } | 409 | } |
