diff options
author | jsing <> | 2014-05-28 13:03:25 +0000 |
---|---|---|
committer | jsing <> | 2014-05-28 13:03:25 +0000 |
commit | 1904ce01988b6ea0f5775507b4d812459c5b3f50 (patch) | |
tree | 60af46eb8cb0fcb0e51840739e416c98c124d73c /src/lib/libssl/ssl_sess.c | |
parent | 60cd1d60f58b32225afb881559d08dbc68a2eb79 (diff) | |
download | openbsd-1904ce01988b6ea0f5775507b4d812459c5b3f50.tar.gz openbsd-1904ce01988b6ea0f5775507b4d812459c5b3f50.tar.bz2 openbsd-1904ce01988b6ea0f5775507b4d812459c5b3f50.zip |
There is no point in checking if a pointer is non-NULL before calling free,
since free already does this for us. Also remove some pointless NULL
assignments, where the result from malloc(3) is immediately assigned to the
same variable.
ok miod@
Diffstat (limited to 'src/lib/libssl/ssl_sess.c')
-rw-r--r-- | src/lib/libssl/ssl_sess.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c index 05c6948efc..632d6a6860 100644 --- a/src/lib/libssl/ssl_sess.c +++ b/src/lib/libssl/ssl_sess.c | |||
@@ -366,8 +366,7 @@ ssl_get_new_session(SSL *s, int session) | |||
366 | } | 366 | } |
367 | #ifndef OPENSSL_NO_EC | 367 | #ifndef OPENSSL_NO_EC |
368 | if (s->tlsext_ecpointformatlist) { | 368 | if (s->tlsext_ecpointformatlist) { |
369 | if (ss->tlsext_ecpointformatlist != NULL) | 369 | free(ss->tlsext_ecpointformatlist); |
370 | free(ss->tlsext_ecpointformatlist); | ||
371 | if ((ss->tlsext_ecpointformatlist = malloc(s->tlsext_ecpointformatlist_length)) == NULL) { | 370 | if ((ss->tlsext_ecpointformatlist = malloc(s->tlsext_ecpointformatlist_length)) == NULL) { |
372 | SSLerr(SSL_F_SSL_GET_NEW_SESSION, ERR_R_MALLOC_FAILURE); | 371 | SSLerr(SSL_F_SSL_GET_NEW_SESSION, ERR_R_MALLOC_FAILURE); |
373 | SSL_SESSION_free(ss); | 372 | SSL_SESSION_free(ss); |
@@ -377,8 +376,7 @@ ssl_get_new_session(SSL *s, int session) | |||
377 | memcpy(ss->tlsext_ecpointformatlist, s->tlsext_ecpointformatlist, s->tlsext_ecpointformatlist_length); | 376 | memcpy(ss->tlsext_ecpointformatlist, s->tlsext_ecpointformatlist, s->tlsext_ecpointformatlist_length); |
378 | } | 377 | } |
379 | if (s->tlsext_ellipticcurvelist) { | 378 | if (s->tlsext_ellipticcurvelist) { |
380 | if (ss->tlsext_ellipticcurvelist != NULL) | 379 | free(ss->tlsext_ellipticcurvelist); |
381 | free(ss->tlsext_ellipticcurvelist); | ||
382 | if ((ss->tlsext_ellipticcurvelist = malloc(s->tlsext_ellipticcurvelist_length)) == NULL) { | 380 | if ((ss->tlsext_ellipticcurvelist = malloc(s->tlsext_ellipticcurvelist_length)) == NULL) { |
383 | SSLerr(SSL_F_SSL_GET_NEW_SESSION, ERR_R_MALLOC_FAILURE); | 381 | SSLerr(SSL_F_SSL_GET_NEW_SESSION, ERR_R_MALLOC_FAILURE); |
384 | SSL_SESSION_free(ss); | 382 | SSL_SESSION_free(ss); |
@@ -704,24 +702,18 @@ SSL_SESSION_free(SSL_SESSION *ss) | |||
704 | if (ss->ciphers != NULL) | 702 | if (ss->ciphers != NULL) |
705 | sk_SSL_CIPHER_free(ss->ciphers); | 703 | sk_SSL_CIPHER_free(ss->ciphers); |
706 | #ifndef OPENSSL_NO_TLSEXT | 704 | #ifndef OPENSSL_NO_TLSEXT |
707 | if (ss->tlsext_hostname != NULL) | 705 | free(ss->tlsext_hostname); |
708 | free(ss->tlsext_hostname); | 706 | free(ss->tlsext_tick); |
709 | if (ss->tlsext_tick != NULL) | ||
710 | free(ss->tlsext_tick); | ||
711 | #ifndef OPENSSL_NO_EC | 707 | #ifndef OPENSSL_NO_EC |
712 | ss->tlsext_ecpointformatlist_length = 0; | 708 | ss->tlsext_ecpointformatlist_length = 0; |
713 | if (ss->tlsext_ecpointformatlist != NULL) | 709 | free(ss->tlsext_ecpointformatlist); |
714 | free(ss->tlsext_ecpointformatlist); | ||
715 | ss->tlsext_ellipticcurvelist_length = 0; | 710 | ss->tlsext_ellipticcurvelist_length = 0; |
716 | if (ss->tlsext_ellipticcurvelist != NULL) | 711 | free(ss->tlsext_ellipticcurvelist); |
717 | free(ss->tlsext_ellipticcurvelist); | ||
718 | #endif /* OPENSSL_NO_EC */ | 712 | #endif /* OPENSSL_NO_EC */ |
719 | #endif | 713 | #endif |
720 | #ifndef OPENSSL_NO_PSK | 714 | #ifndef OPENSSL_NO_PSK |
721 | if (ss->psk_identity_hint != NULL) | 715 | free(ss->psk_identity_hint); |
722 | free(ss->psk_identity_hint); | 716 | free(ss->psk_identity); |
723 | if (ss->psk_identity != NULL) | ||
724 | free(ss->psk_identity); | ||
725 | #endif | 717 | #endif |
726 | OPENSSL_cleanse(ss, sizeof(*ss)); | 718 | OPENSSL_cleanse(ss, sizeof(*ss)); |
727 | free(ss); | 719 | free(ss); |
@@ -874,11 +866,7 @@ int | |||
874 | SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len) | 866 | SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len) |
875 | { | 867 | { |
876 | if (s->version >= TLS1_VERSION) { | 868 | if (s->version >= TLS1_VERSION) { |
877 | if (s->tlsext_session_ticket) { | 869 | free(s->tlsext_session_ticket); |
878 | free(s->tlsext_session_ticket); | ||
879 | s->tlsext_session_ticket = NULL; | ||
880 | } | ||
881 | |||
882 | s->tlsext_session_ticket = malloc(sizeof(TLS_SESSION_TICKET_EXT) + ext_len); | 870 | s->tlsext_session_ticket = malloc(sizeof(TLS_SESSION_TICKET_EXT) + ext_len); |
883 | if (!s->tlsext_session_ticket) { | 871 | if (!s->tlsext_session_ticket) { |
884 | SSLerr(SSL_F_SSL_SET_SESSION_TICKET_EXT, ERR_R_MALLOC_FAILURE); | 872 | SSLerr(SSL_F_SSL_SET_SESSION_TICKET_EXT, ERR_R_MALLOC_FAILURE); |