diff options
Diffstat (limited to 'src/lib/libssl/t1_lib.c')
-rw-r--r-- | src/lib/libssl/t1_lib.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c index c3d62957ae..7ecf7e0658 100644 --- a/src/lib/libssl/t1_lib.c +++ b/src/lib/libssl/t1_lib.c | |||
@@ -162,7 +162,7 @@ tls1_free(SSL *s) | |||
162 | { | 162 | { |
163 | #ifndef OPENSSL_NO_TLSEXT | 163 | #ifndef OPENSSL_NO_TLSEXT |
164 | if (s->tlsext_session_ticket) { | 164 | if (s->tlsext_session_ticket) { |
165 | OPENSSL_free(s->tlsext_session_ticket); | 165 | free(s->tlsext_session_ticket); |
166 | } | 166 | } |
167 | #endif /* OPENSSL_NO_TLSEXT */ | 167 | #endif /* OPENSSL_NO_TLSEXT */ |
168 | ssl3_free(s); | 168 | ssl3_free(s); |
@@ -515,7 +515,7 @@ unsigned char | |||
515 | else if (s->session && s->tlsext_session_ticket && | 515 | else if (s->session && s->tlsext_session_ticket && |
516 | s->tlsext_session_ticket->data) { | 516 | s->tlsext_session_ticket->data) { |
517 | ticklen = s->tlsext_session_ticket->length; | 517 | ticklen = s->tlsext_session_ticket->length; |
518 | s->session->tlsext_tick = OPENSSL_malloc(ticklen); | 518 | s->session->tlsext_tick = malloc(ticklen); |
519 | if (!s->session->tlsext_tick) | 519 | if (!s->session->tlsext_tick) |
520 | return NULL; | 520 | return NULL; |
521 | memcpy(s->session->tlsext_tick, | 521 | memcpy(s->session->tlsext_tick, |
@@ -1037,14 +1037,14 @@ ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, | |||
1037 | *al = TLS1_AD_UNRECOGNIZED_NAME; | 1037 | *al = TLS1_AD_UNRECOGNIZED_NAME; |
1038 | return 0; | 1038 | return 0; |
1039 | } | 1039 | } |
1040 | if ((s->session->tlsext_hostname = OPENSSL_malloc(len + 1)) == NULL) { | 1040 | if ((s->session->tlsext_hostname = malloc(len + 1)) == NULL) { |
1041 | *al = TLS1_AD_INTERNAL_ERROR; | 1041 | *al = TLS1_AD_INTERNAL_ERROR; |
1042 | return 0; | 1042 | return 0; |
1043 | } | 1043 | } |
1044 | memcpy(s->session->tlsext_hostname, sdata, len); | 1044 | memcpy(s->session->tlsext_hostname, sdata, len); |
1045 | s->session->tlsext_hostname[len] = '\0'; | 1045 | s->session->tlsext_hostname[len] = '\0'; |
1046 | if (strlen(s->session->tlsext_hostname) != len) { | 1046 | if (strlen(s->session->tlsext_hostname) != len) { |
1047 | OPENSSL_free(s->session->tlsext_hostname); | 1047 | free(s->session->tlsext_hostname); |
1048 | s->session->tlsext_hostname = NULL; | 1048 | s->session->tlsext_hostname = NULL; |
1049 | *al = TLS1_AD_UNRECOGNIZED_NAME; | 1049 | *al = TLS1_AD_UNRECOGNIZED_NAME; |
1050 | return 0; | 1050 | return 0; |
@@ -1081,7 +1081,7 @@ ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, | |||
1081 | *al = SSL_AD_DECODE_ERROR; | 1081 | *al = SSL_AD_DECODE_ERROR; |
1082 | return 0; | 1082 | return 0; |
1083 | } | 1083 | } |
1084 | if ((s->srp_ctx.login = OPENSSL_malloc(len + 1)) == NULL) | 1084 | if ((s->srp_ctx.login = malloc(len + 1)) == NULL) |
1085 | return -1; | 1085 | return -1; |
1086 | memcpy(s->srp_ctx.login, &data[1], len); | 1086 | memcpy(s->srp_ctx.login, &data[1], len); |
1087 | s->srp_ctx.login[len] = '\0'; | 1087 | s->srp_ctx.login[len] = '\0'; |
@@ -1105,11 +1105,11 @@ ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, | |||
1105 | } | 1105 | } |
1106 | if (!s->hit) { | 1106 | if (!s->hit) { |
1107 | if (s->session->tlsext_ecpointformatlist) { | 1107 | if (s->session->tlsext_ecpointformatlist) { |
1108 | OPENSSL_free(s->session->tlsext_ecpointformatlist); | 1108 | free(s->session->tlsext_ecpointformatlist); |
1109 | s->session->tlsext_ecpointformatlist = NULL; | 1109 | s->session->tlsext_ecpointformatlist = NULL; |
1110 | } | 1110 | } |
1111 | s->session->tlsext_ecpointformatlist_length = 0; | 1111 | s->session->tlsext_ecpointformatlist_length = 0; |
1112 | if ((s->session->tlsext_ecpointformatlist = OPENSSL_malloc(ecpointformatlist_length)) == NULL) { | 1112 | if ((s->session->tlsext_ecpointformatlist = malloc(ecpointformatlist_length)) == NULL) { |
1113 | *al = TLS1_AD_INTERNAL_ERROR; | 1113 | *al = TLS1_AD_INTERNAL_ERROR; |
1114 | return 0; | 1114 | return 0; |
1115 | } | 1115 | } |
@@ -1140,7 +1140,7 @@ ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, | |||
1140 | return 0; | 1140 | return 0; |
1141 | } | 1141 | } |
1142 | s->session->tlsext_ellipticcurvelist_length = 0; | 1142 | s->session->tlsext_ellipticcurvelist_length = 0; |
1143 | if ((s->session->tlsext_ellipticcurvelist = OPENSSL_malloc(ellipticcurvelist_length)) == NULL) { | 1143 | if ((s->session->tlsext_ellipticcurvelist = malloc(ellipticcurvelist_length)) == NULL) { |
1144 | *al = TLS1_AD_INTERNAL_ERROR; | 1144 | *al = TLS1_AD_INTERNAL_ERROR; |
1145 | return 0; | 1145 | return 0; |
1146 | } | 1146 | } |
@@ -1172,9 +1172,9 @@ ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p, unsigned char *d, | |||
1172 | } | 1172 | } |
1173 | 1173 | ||
1174 | if (s->s3->client_opaque_prf_input != NULL) /* shouldn't really happen */ | 1174 | if (s->s3->client_opaque_prf_input != NULL) /* shouldn't really happen */ |
1175 | OPENSSL_free(s->s3->client_opaque_prf_input); | 1175 | free(s->s3->client_opaque_prf_input); |
1176 | if (s->s3->client_opaque_prf_input_len == 0) | 1176 | if (s->s3->client_opaque_prf_input_len == 0) |
1177 | s->s3->client_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ | 1177 | s->s3->client_opaque_prf_input = malloc(1); /* dummy byte just to get non-NULL */ |
1178 | else | 1178 | else |
1179 | s->s3->client_opaque_prf_input = BUF_memdup(sdata, s->s3->client_opaque_prf_input_len); | 1179 | s->s3->client_opaque_prf_input = BUF_memdup(sdata, s->s3->client_opaque_prf_input_len); |
1180 | if (s->s3->client_opaque_prf_input == NULL) { | 1180 | if (s->s3->client_opaque_prf_input == NULL) { |
@@ -1432,8 +1432,8 @@ ssl_parse_serverhello_tlsext(SSL *s, unsigned char **p, unsigned char *d, int n, | |||
1432 | } | 1432 | } |
1433 | s->session->tlsext_ecpointformatlist_length = 0; | 1433 | s->session->tlsext_ecpointformatlist_length = 0; |
1434 | if (s->session->tlsext_ecpointformatlist != NULL) | 1434 | if (s->session->tlsext_ecpointformatlist != NULL) |
1435 | OPENSSL_free(s->session->tlsext_ecpointformatlist); | 1435 | free(s->session->tlsext_ecpointformatlist); |
1436 | if ((s->session->tlsext_ecpointformatlist = OPENSSL_malloc(ecpointformatlist_length)) == NULL) { | 1436 | if ((s->session->tlsext_ecpointformatlist = malloc(ecpointformatlist_length)) == NULL) { |
1437 | *al = TLS1_AD_INTERNAL_ERROR; | 1437 | *al = TLS1_AD_INTERNAL_ERROR; |
1438 | return 0; | 1438 | return 0; |
1439 | } | 1439 | } |
@@ -1478,9 +1478,9 @@ ssl_parse_serverhello_tlsext(SSL *s, unsigned char **p, unsigned char *d, int n, | |||
1478 | } | 1478 | } |
1479 | 1479 | ||
1480 | if (s->s3->server_opaque_prf_input != NULL) /* shouldn't really happen */ | 1480 | if (s->s3->server_opaque_prf_input != NULL) /* shouldn't really happen */ |
1481 | OPENSSL_free(s->s3->server_opaque_prf_input); | 1481 | free(s->s3->server_opaque_prf_input); |
1482 | if (s->s3->server_opaque_prf_input_len == 0) | 1482 | if (s->s3->server_opaque_prf_input_len == 0) |
1483 | s->s3->server_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ | 1483 | s->s3->server_opaque_prf_input = malloc(1); /* dummy byte just to get non-NULL */ |
1484 | else | 1484 | else |
1485 | s->s3->server_opaque_prf_input = BUF_memdup(sdata, s->s3->server_opaque_prf_input_len); | 1485 | s->s3->server_opaque_prf_input = BUF_memdup(sdata, s->s3->server_opaque_prf_input_len); |
1486 | 1486 | ||
@@ -1522,7 +1522,7 @@ ssl_parse_serverhello_tlsext(SSL *s, unsigned char **p, unsigned char *d, int n, | |||
1522 | *al = TLS1_AD_INTERNAL_ERROR; | 1522 | *al = TLS1_AD_INTERNAL_ERROR; |
1523 | return 0; | 1523 | return 0; |
1524 | } | 1524 | } |
1525 | s->next_proto_negotiated = OPENSSL_malloc(selected_len); | 1525 | s->next_proto_negotiated = malloc(selected_len); |
1526 | if (!s->next_proto_negotiated) { | 1526 | if (!s->next_proto_negotiated) { |
1527 | *al = TLS1_AD_INTERNAL_ERROR; | 1527 | *al = TLS1_AD_INTERNAL_ERROR; |
1528 | return 0; | 1528 | return 0; |
@@ -1619,8 +1619,8 @@ ssl_prepare_clienthello_tlsext(SSL *s) | |||
1619 | using_ecc = using_ecc && (s->version >= TLS1_VERSION); | 1619 | using_ecc = using_ecc && (s->version >= TLS1_VERSION); |
1620 | if (using_ecc) { | 1620 | if (using_ecc) { |
1621 | if (s->tlsext_ecpointformatlist != NULL) | 1621 | if (s->tlsext_ecpointformatlist != NULL) |
1622 | OPENSSL_free(s->tlsext_ecpointformatlist); | 1622 | free(s->tlsext_ecpointformatlist); |
1623 | if ((s->tlsext_ecpointformatlist = OPENSSL_malloc(3)) == NULL) { | 1623 | if ((s->tlsext_ecpointformatlist = malloc(3)) == NULL) { |
1624 | SSLerr(SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); | 1624 | SSLerr(SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); |
1625 | return -1; | 1625 | return -1; |
1626 | } | 1626 | } |
@@ -1631,9 +1631,9 @@ ssl_prepare_clienthello_tlsext(SSL *s) | |||
1631 | 1631 | ||
1632 | /* we support all named elliptic curves in draft-ietf-tls-ecc-12 */ | 1632 | /* we support all named elliptic curves in draft-ietf-tls-ecc-12 */ |
1633 | if (s->tlsext_ellipticcurvelist != NULL) | 1633 | if (s->tlsext_ellipticcurvelist != NULL) |
1634 | OPENSSL_free(s->tlsext_ellipticcurvelist); | 1634 | free(s->tlsext_ellipticcurvelist); |
1635 | s->tlsext_ellipticcurvelist_length = sizeof(pref_list)/sizeof(pref_list[0]) * 2; | 1635 | s->tlsext_ellipticcurvelist_length = sizeof(pref_list)/sizeof(pref_list[0]) * 2; |
1636 | if ((s->tlsext_ellipticcurvelist = OPENSSL_malloc(s->tlsext_ellipticcurvelist_length)) == NULL) { | 1636 | if ((s->tlsext_ellipticcurvelist = malloc(s->tlsext_ellipticcurvelist_length)) == NULL) { |
1637 | s->tlsext_ellipticcurvelist_length = 0; | 1637 | s->tlsext_ellipticcurvelist_length = 0; |
1638 | SSLerr(SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); | 1638 | SSLerr(SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); |
1639 | return -1; | 1639 | return -1; |
@@ -1660,10 +1660,10 @@ ssl_prepare_clienthello_tlsext(SSL *s) | |||
1660 | 1660 | ||
1661 | if (s->tlsext_opaque_prf_input != NULL) { | 1661 | if (s->tlsext_opaque_prf_input != NULL) { |
1662 | if (s->s3->client_opaque_prf_input != NULL) /* shouldn't really happen */ | 1662 | if (s->s3->client_opaque_prf_input != NULL) /* shouldn't really happen */ |
1663 | OPENSSL_free(s->s3->client_opaque_prf_input); | 1663 | free(s->s3->client_opaque_prf_input); |
1664 | 1664 | ||
1665 | if (s->tlsext_opaque_prf_input_len == 0) | 1665 | if (s->tlsext_opaque_prf_input_len == 0) |
1666 | s->s3->client_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ | 1666 | s->s3->client_opaque_prf_input = malloc(1); /* dummy byte just to get non-NULL */ |
1667 | else | 1667 | else |
1668 | s->s3->client_opaque_prf_input = BUF_memdup(s->tlsext_opaque_prf_input, s->tlsext_opaque_prf_input_len); | 1668 | s->s3->client_opaque_prf_input = BUF_memdup(s->tlsext_opaque_prf_input, s->tlsext_opaque_prf_input_len); |
1669 | if (s->s3->client_opaque_prf_input == NULL) { | 1669 | if (s->s3->client_opaque_prf_input == NULL) { |
@@ -1698,8 +1698,8 @@ ssl_prepare_serverhello_tlsext(SSL *s) | |||
1698 | 1698 | ||
1699 | if (using_ecc) { | 1699 | if (using_ecc) { |
1700 | if (s->tlsext_ecpointformatlist != NULL) | 1700 | if (s->tlsext_ecpointformatlist != NULL) |
1701 | OPENSSL_free(s->tlsext_ecpointformatlist); | 1701 | free(s->tlsext_ecpointformatlist); |
1702 | if ((s->tlsext_ecpointformatlist = OPENSSL_malloc(3)) == NULL) { | 1702 | if ((s->tlsext_ecpointformatlist = malloc(3)) == NULL) { |
1703 | SSLerr(SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); | 1703 | SSLerr(SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT, ERR_R_MALLOC_FAILURE); |
1704 | return -1; | 1704 | return -1; |
1705 | } | 1705 | } |
@@ -1752,7 +1752,7 @@ ssl_check_clienthello_tlsext_early(SSL *s) | |||
1752 | } | 1752 | } |
1753 | 1753 | ||
1754 | if (s->s3->server_opaque_prf_input != NULL) /* shouldn't really happen */ | 1754 | if (s->s3->server_opaque_prf_input != NULL) /* shouldn't really happen */ |
1755 | OPENSSL_free(s->s3->server_opaque_prf_input); | 1755 | free(s->s3->server_opaque_prf_input); |
1756 | s->s3->server_opaque_prf_input = NULL; | 1756 | s->s3->server_opaque_prf_input = NULL; |
1757 | 1757 | ||
1758 | if (s->tlsext_opaque_prf_input != NULL) { | 1758 | if (s->tlsext_opaque_prf_input != NULL) { |
@@ -1762,7 +1762,7 @@ ssl_check_clienthello_tlsext_early(SSL *s) | |||
1762 | * of the same length as the client opaque PRF input! */ | 1762 | * of the same length as the client opaque PRF input! */ |
1763 | 1763 | ||
1764 | if (s->tlsext_opaque_prf_input_len == 0) | 1764 | if (s->tlsext_opaque_prf_input_len == 0) |
1765 | s->s3->server_opaque_prf_input = OPENSSL_malloc(1); /* dummy byte just to get non-NULL */ | 1765 | s->s3->server_opaque_prf_input = malloc(1); /* dummy byte just to get non-NULL */ |
1766 | else | 1766 | else |
1767 | s->s3->server_opaque_prf_input = BUF_memdup(s->tlsext_opaque_prf_input, s->tlsext_opaque_prf_input_len); | 1767 | s->s3->server_opaque_prf_input = BUF_memdup(s->tlsext_opaque_prf_input, s->tlsext_opaque_prf_input_len); |
1768 | if (s->s3->server_opaque_prf_input == NULL) { | 1768 | if (s->s3->server_opaque_prf_input == NULL) { |
@@ -1937,7 +1937,7 @@ ssl_check_serverhello_tlsext(SSL *s) | |||
1937 | * there is no response. | 1937 | * there is no response. |
1938 | */ | 1938 | */ |
1939 | if (s->tlsext_ocsp_resp) { | 1939 | if (s->tlsext_ocsp_resp) { |
1940 | OPENSSL_free(s->tlsext_ocsp_resp); | 1940 | free(s->tlsext_ocsp_resp); |
1941 | s->tlsext_ocsp_resp = NULL; | 1941 | s->tlsext_ocsp_resp = NULL; |
1942 | } | 1942 | } |
1943 | s->tlsext_ocsp_resplen = -1; | 1943 | s->tlsext_ocsp_resplen = -1; |
@@ -2156,7 +2156,7 @@ tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen, | |||
2156 | /* Move p after IV to start of encrypted ticket, update length */ | 2156 | /* Move p after IV to start of encrypted ticket, update length */ |
2157 | p = etick + 16 + EVP_CIPHER_CTX_iv_length(&ctx); | 2157 | p = etick + 16 + EVP_CIPHER_CTX_iv_length(&ctx); |
2158 | eticklen -= 16 + EVP_CIPHER_CTX_iv_length(&ctx); | 2158 | eticklen -= 16 + EVP_CIPHER_CTX_iv_length(&ctx); |
2159 | sdec = OPENSSL_malloc(eticklen); | 2159 | sdec = malloc(eticklen); |
2160 | if (!sdec) { | 2160 | if (!sdec) { |
2161 | EVP_CIPHER_CTX_cleanup(&ctx); | 2161 | EVP_CIPHER_CTX_cleanup(&ctx); |
2162 | return -1; | 2162 | return -1; |
@@ -2169,7 +2169,7 @@ tls_decrypt_ticket(SSL *s, const unsigned char *etick, int eticklen, | |||
2169 | p = sdec; | 2169 | p = sdec; |
2170 | 2170 | ||
2171 | sess = d2i_SSL_SESSION(NULL, &p, slen); | 2171 | sess = d2i_SSL_SESSION(NULL, &p, slen); |
2172 | OPENSSL_free(sdec); | 2172 | free(sdec); |
2173 | if (sess) { | 2173 | if (sess) { |
2174 | /* The session ID, if non-empty, is used by some clients to | 2174 | /* The session ID, if non-empty, is used by some clients to |
2175 | * detect that the ticket has been accepted. So we copy it to | 2175 | * detect that the ticket has been accepted. So we copy it to |