summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_sess.c
diff options
context:
space:
mode:
authorjsing <>2014-05-28 13:03:25 +0000
committerjsing <>2014-05-28 13:03:25 +0000
commit1904ce01988b6ea0f5775507b4d812459c5b3f50 (patch)
tree60af46eb8cb0fcb0e51840739e416c98c124d73c /src/lib/libssl/ssl_sess.c
parent60cd1d60f58b32225afb881559d08dbc68a2eb79 (diff)
downloadopenbsd-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.c30
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
874SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len) 866SSL_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);