diff options
Diffstat (limited to 'src/lib/libssl/ssl_cert.c')
| -rw-r--r-- | src/lib/libssl/ssl_cert.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/lib/libssl/ssl_cert.c b/src/lib/libssl/ssl_cert.c index 389d47408c..b493585c58 100644 --- a/src/lib/libssl/ssl_cert.c +++ b/src/lib/libssl/ssl_cert.c | |||
| @@ -176,13 +176,11 @@ ssl_cert_new(void) | |||
| 176 | { | 176 | { |
| 177 | CERT *ret; | 177 | CERT *ret; |
| 178 | 178 | ||
| 179 | ret = (CERT *)malloc(sizeof(CERT)); | 179 | ret = calloc(1, sizeof(CERT)); |
| 180 | if (ret == NULL) { | 180 | if (ret == NULL) { |
| 181 | SSLerr(SSL_F_SSL_CERT_NEW, ERR_R_MALLOC_FAILURE); | 181 | SSLerr(SSL_F_SSL_CERT_NEW, ERR_R_MALLOC_FAILURE); |
| 182 | return (NULL); | 182 | return (NULL); |
| 183 | } | 183 | } |
| 184 | memset(ret, 0, sizeof(CERT)); | ||
| 185 | |||
| 186 | ret->key = &(ret->pkeys[SSL_PKEY_RSA_ENC]); | 184 | ret->key = &(ret->pkeys[SSL_PKEY_RSA_ENC]); |
| 187 | ret->references = 1; | 185 | ret->references = 1; |
| 188 | ssl_cert_set_default_md(ret); | 186 | ssl_cert_set_default_md(ret); |
| @@ -195,14 +193,12 @@ ssl_cert_dup(CERT *cert) | |||
| 195 | CERT *ret; | 193 | CERT *ret; |
| 196 | int i; | 194 | int i; |
| 197 | 195 | ||
| 198 | ret = (CERT *)malloc(sizeof(CERT)); | 196 | ret = calloc(1, sizeof(CERT)); |
| 199 | if (ret == NULL) { | 197 | if (ret == NULL) { |
| 200 | SSLerr(SSL_F_SSL_CERT_DUP, ERR_R_MALLOC_FAILURE); | 198 | SSLerr(SSL_F_SSL_CERT_DUP, ERR_R_MALLOC_FAILURE); |
| 201 | return (NULL); | 199 | return (NULL); |
| 202 | } | 200 | } |
| 203 | 201 | ||
| 204 | memset(ret, 0, sizeof(CERT)); | ||
| 205 | |||
| 206 | ret->key = &ret->pkeys[cert->key - &cert->pkeys[0]]; | 202 | ret->key = &ret->pkeys[cert->key - &cert->pkeys[0]]; |
| 207 | /* or ret->key = ret->pkeys + (cert->key - cert->pkeys), | 203 | /* or ret->key = ret->pkeys + (cert->key - cert->pkeys), |
| 208 | * if you find that more readable */ | 204 | * if you find that more readable */ |
| @@ -403,13 +399,11 @@ ssl_sess_cert_new(void) | |||
| 403 | { | 399 | { |
| 404 | SESS_CERT *ret; | 400 | SESS_CERT *ret; |
| 405 | 401 | ||
| 406 | ret = malloc(sizeof *ret); | 402 | ret = calloc(1, sizeof *ret); |
| 407 | if (ret == NULL) { | 403 | if (ret == NULL) { |
| 408 | SSLerr(SSL_F_SSL_SESS_CERT_NEW, ERR_R_MALLOC_FAILURE); | 404 | SSLerr(SSL_F_SSL_SESS_CERT_NEW, ERR_R_MALLOC_FAILURE); |
| 409 | return NULL; | 405 | return NULL; |
| 410 | } | 406 | } |
| 411 | |||
| 412 | memset(ret, 0 , sizeof *ret); | ||
| 413 | ret->peer_key = &(ret->peer_pkeys[SSL_PKEY_RSA_ENC]); | 407 | ret->peer_key = &(ret->peer_pkeys[SSL_PKEY_RSA_ENC]); |
| 414 | ret->references = 1; | 408 | ret->references = 1; |
| 415 | 409 | ||
