diff options
| -rw-r--r-- | src/lib/libcrypto/asn1/asn_mime.c | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/bio_asn1.c | 4 | ||||
| -rw-r--r-- | src/lib/libcrypto/asn1/tasn_enc.c | 2 | ||||
| -rw-r--r-- | src/lib/libcrypto/ocsp/ocsp_ht.c | 3 | ||||
| -rw-r--r-- | src/lib/libcrypto/x509/x509_lu.c | 1 | ||||
| -rw-r--r-- | src/lib/libcrypto/x509/x509spki.c | 2 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/asn_mime.c | 4 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/bio_asn1.c | 4 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/asn1/tasn_enc.c | 2 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/ocsp/ocsp_ht.c | 3 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/x509/x509_lu.c | 1 | ||||
| -rw-r--r-- | src/lib/libssl/src/crypto/x509/x509spki.c | 2 |
12 files changed, 28 insertions, 4 deletions
diff --git a/src/lib/libcrypto/asn1/asn_mime.c b/src/lib/libcrypto/asn1/asn_mime.c index 3de73fdb1e..2b600ab411 100644 --- a/src/lib/libcrypto/asn1/asn_mime.c +++ b/src/lib/libcrypto/asn1/asn_mime.c | |||
| @@ -823,8 +823,10 @@ static MIME_HEADER *mime_hdr_new(char *name, char *value) | |||
| 823 | } | 823 | } |
| 824 | } else tmpval = NULL; | 824 | } else tmpval = NULL; |
| 825 | mhdr = (MIME_HEADER *) malloc(sizeof(MIME_HEADER)); | 825 | mhdr = (MIME_HEADER *) malloc(sizeof(MIME_HEADER)); |
| 826 | if (!mhdr) | 826 | if (!mhdr) { |
| 827 | OPENSSL_free(tmpname); | ||
| 827 | return NULL; | 828 | return NULL; |
| 829 | } | ||
| 828 | mhdr->name = tmpname; | 830 | mhdr->name = tmpname; |
| 829 | mhdr->value = tmpval; | 831 | mhdr->value = tmpval; |
| 830 | if (!(mhdr->params = sk_MIME_PARAM_new(mime_param_cmp))) { | 832 | if (!(mhdr->params = sk_MIME_PARAM_new(mime_param_cmp))) { |
diff --git a/src/lib/libcrypto/asn1/bio_asn1.c b/src/lib/libcrypto/asn1/bio_asn1.c index fa98dba728..b59645909c 100644 --- a/src/lib/libcrypto/asn1/bio_asn1.c +++ b/src/lib/libcrypto/asn1/bio_asn1.c | |||
| @@ -153,8 +153,10 @@ static int asn1_bio_new(BIO *b) | |||
| 153 | ctx = malloc(sizeof(BIO_ASN1_BUF_CTX)); | 153 | ctx = malloc(sizeof(BIO_ASN1_BUF_CTX)); |
| 154 | if (!ctx) | 154 | if (!ctx) |
| 155 | return 0; | 155 | return 0; |
| 156 | if (!asn1_bio_init(ctx, DEFAULT_ASN1_BUF_SIZE)) | 156 | if (!asn1_bio_init(ctx, DEFAULT_ASN1_BUF_SIZE)) { |
| 157 | free(ctx); | ||
| 157 | return 0; | 158 | return 0; |
| 159 | } | ||
| 158 | b->init = 1; | 160 | b->init = 1; |
| 159 | b->ptr = (char *)ctx; | 161 | b->ptr = (char *)ctx; |
| 160 | b->flags = 0; | 162 | b->flags = 0; |
diff --git a/src/lib/libcrypto/asn1/tasn_enc.c b/src/lib/libcrypto/asn1/tasn_enc.c index 9ab0473d73..54e3f7a94a 100644 --- a/src/lib/libcrypto/asn1/tasn_enc.c +++ b/src/lib/libcrypto/asn1/tasn_enc.c | |||
| @@ -455,6 +455,8 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, | |||
| 455 | * sizeof(*derlst)); | 455 | * sizeof(*derlst)); |
| 456 | tmpdat = malloc(skcontlen); | 456 | tmpdat = malloc(skcontlen); |
| 457 | if (!derlst || !tmpdat) | 457 | if (!derlst || !tmpdat) |
| 458 | free(derlst); | ||
| 459 | free(tmpdat); | ||
| 458 | return 0; | 460 | return 0; |
| 459 | } | 461 | } |
| 460 | } | 462 | } |
diff --git a/src/lib/libcrypto/ocsp/ocsp_ht.c b/src/lib/libcrypto/ocsp/ocsp_ht.c index 0fa23b027b..db20759d3b 100644 --- a/src/lib/libcrypto/ocsp/ocsp_ht.c +++ b/src/lib/libcrypto/ocsp/ocsp_ht.c | |||
| @@ -168,6 +168,7 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, | |||
| 168 | rctx->iobuflen = OCSP_MAX_LINE_LEN; | 168 | rctx->iobuflen = OCSP_MAX_LINE_LEN; |
| 169 | rctx->iobuf = malloc(rctx->iobuflen); | 169 | rctx->iobuf = malloc(rctx->iobuflen); |
| 170 | if (!rctx->iobuf) { | 170 | if (!rctx->iobuf) { |
| 171 | BIO_free(rctx->mem); | ||
| 171 | free(rctx); | 172 | free(rctx); |
| 172 | return 0; | 173 | return 0; |
| 173 | } | 174 | } |
| @@ -176,12 +177,14 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, | |||
| 176 | 177 | ||
| 177 | if (BIO_printf(rctx->mem, post_hdr, path) <= 0) { | 178 | if (BIO_printf(rctx->mem, post_hdr, path) <= 0) { |
| 178 | free(rctx->iobuf); | 179 | free(rctx->iobuf); |
| 180 | BIO_free(rctx->mem); | ||
| 179 | free(rctx); | 181 | free(rctx); |
| 180 | return 0; | 182 | return 0; |
| 181 | } | 183 | } |
| 182 | 184 | ||
| 183 | if (req && !OCSP_REQ_CTX_set1_req(rctx, req)) { | 185 | if (req && !OCSP_REQ_CTX_set1_req(rctx, req)) { |
| 184 | free(rctx->iobuf); | 186 | free(rctx->iobuf); |
| 187 | BIO_free(rctx->mem); | ||
| 185 | free(rctx); | 188 | free(rctx); |
| 186 | return 0; | 189 | return 0; |
| 187 | } | 190 | } |
diff --git a/src/lib/libcrypto/x509/x509_lu.c b/src/lib/libcrypto/x509/x509_lu.c index cbbe8e86f8..38b034bfee 100644 --- a/src/lib/libcrypto/x509/x509_lu.c +++ b/src/lib/libcrypto/x509/x509_lu.c | |||
| @@ -188,6 +188,7 @@ X509_STORE *X509_STORE_new(void) | |||
| 188 | ret->verify_cb=0; | 188 | ret->verify_cb=0; |
| 189 | 189 | ||
| 190 | if ((ret->param = X509_VERIFY_PARAM_new()) == NULL) { | 190 | if ((ret->param = X509_VERIFY_PARAM_new()) == NULL) { |
| 191 | sk_X509_OBJECT_free(ret->objs); | ||
| 191 | free(ret); | 192 | free(ret); |
| 192 | return NULL; | 193 | return NULL; |
| 193 | } | 194 | } |
diff --git a/src/lib/libcrypto/x509/x509spki.c b/src/lib/libcrypto/x509/x509spki.c index 28bc12e1a2..9f0fbd39e3 100644 --- a/src/lib/libcrypto/x509/x509spki.c +++ b/src/lib/libcrypto/x509/x509spki.c | |||
| @@ -111,6 +111,8 @@ char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki) | |||
| 111 | b64_str = malloc(der_len * 2); | 111 | b64_str = malloc(der_len * 2); |
| 112 | if(!der_spki || !b64_str) { | 112 | if(!der_spki || !b64_str) { |
| 113 | X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE); | 113 | X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE); |
| 114 | free(der_spki); | ||
| 115 | free(b64_str); | ||
| 114 | return NULL; | 116 | return NULL; |
| 115 | } | 117 | } |
| 116 | p = der_spki; | 118 | p = der_spki; |
diff --git a/src/lib/libssl/src/crypto/asn1/asn_mime.c b/src/lib/libssl/src/crypto/asn1/asn_mime.c index 3de73fdb1e..2b600ab411 100644 --- a/src/lib/libssl/src/crypto/asn1/asn_mime.c +++ b/src/lib/libssl/src/crypto/asn1/asn_mime.c | |||
| @@ -823,8 +823,10 @@ static MIME_HEADER *mime_hdr_new(char *name, char *value) | |||
| 823 | } | 823 | } |
| 824 | } else tmpval = NULL; | 824 | } else tmpval = NULL; |
| 825 | mhdr = (MIME_HEADER *) malloc(sizeof(MIME_HEADER)); | 825 | mhdr = (MIME_HEADER *) malloc(sizeof(MIME_HEADER)); |
| 826 | if (!mhdr) | 826 | if (!mhdr) { |
| 827 | OPENSSL_free(tmpname); | ||
| 827 | return NULL; | 828 | return NULL; |
| 829 | } | ||
| 828 | mhdr->name = tmpname; | 830 | mhdr->name = tmpname; |
| 829 | mhdr->value = tmpval; | 831 | mhdr->value = tmpval; |
| 830 | if (!(mhdr->params = sk_MIME_PARAM_new(mime_param_cmp))) { | 832 | if (!(mhdr->params = sk_MIME_PARAM_new(mime_param_cmp))) { |
diff --git a/src/lib/libssl/src/crypto/asn1/bio_asn1.c b/src/lib/libssl/src/crypto/asn1/bio_asn1.c index fa98dba728..b59645909c 100644 --- a/src/lib/libssl/src/crypto/asn1/bio_asn1.c +++ b/src/lib/libssl/src/crypto/asn1/bio_asn1.c | |||
| @@ -153,8 +153,10 @@ static int asn1_bio_new(BIO *b) | |||
| 153 | ctx = malloc(sizeof(BIO_ASN1_BUF_CTX)); | 153 | ctx = malloc(sizeof(BIO_ASN1_BUF_CTX)); |
| 154 | if (!ctx) | 154 | if (!ctx) |
| 155 | return 0; | 155 | return 0; |
| 156 | if (!asn1_bio_init(ctx, DEFAULT_ASN1_BUF_SIZE)) | 156 | if (!asn1_bio_init(ctx, DEFAULT_ASN1_BUF_SIZE)) { |
| 157 | free(ctx); | ||
| 157 | return 0; | 158 | return 0; |
| 159 | } | ||
| 158 | b->init = 1; | 160 | b->init = 1; |
| 159 | b->ptr = (char *)ctx; | 161 | b->ptr = (char *)ctx; |
| 160 | b->flags = 0; | 162 | b->flags = 0; |
diff --git a/src/lib/libssl/src/crypto/asn1/tasn_enc.c b/src/lib/libssl/src/crypto/asn1/tasn_enc.c index 9ab0473d73..54e3f7a94a 100644 --- a/src/lib/libssl/src/crypto/asn1/tasn_enc.c +++ b/src/lib/libssl/src/crypto/asn1/tasn_enc.c | |||
| @@ -455,6 +455,8 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out, | |||
| 455 | * sizeof(*derlst)); | 455 | * sizeof(*derlst)); |
| 456 | tmpdat = malloc(skcontlen); | 456 | tmpdat = malloc(skcontlen); |
| 457 | if (!derlst || !tmpdat) | 457 | if (!derlst || !tmpdat) |
| 458 | free(derlst); | ||
| 459 | free(tmpdat); | ||
| 458 | return 0; | 460 | return 0; |
| 459 | } | 461 | } |
| 460 | } | 462 | } |
diff --git a/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c b/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c index 0fa23b027b..db20759d3b 100644 --- a/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c +++ b/src/lib/libssl/src/crypto/ocsp/ocsp_ht.c | |||
| @@ -168,6 +168,7 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, | |||
| 168 | rctx->iobuflen = OCSP_MAX_LINE_LEN; | 168 | rctx->iobuflen = OCSP_MAX_LINE_LEN; |
| 169 | rctx->iobuf = malloc(rctx->iobuflen); | 169 | rctx->iobuf = malloc(rctx->iobuflen); |
| 170 | if (!rctx->iobuf) { | 170 | if (!rctx->iobuf) { |
| 171 | BIO_free(rctx->mem); | ||
| 171 | free(rctx); | 172 | free(rctx); |
| 172 | return 0; | 173 | return 0; |
| 173 | } | 174 | } |
| @@ -176,12 +177,14 @@ OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, | |||
| 176 | 177 | ||
| 177 | if (BIO_printf(rctx->mem, post_hdr, path) <= 0) { | 178 | if (BIO_printf(rctx->mem, post_hdr, path) <= 0) { |
| 178 | free(rctx->iobuf); | 179 | free(rctx->iobuf); |
| 180 | BIO_free(rctx->mem); | ||
| 179 | free(rctx); | 181 | free(rctx); |
| 180 | return 0; | 182 | return 0; |
| 181 | } | 183 | } |
| 182 | 184 | ||
| 183 | if (req && !OCSP_REQ_CTX_set1_req(rctx, req)) { | 185 | if (req && !OCSP_REQ_CTX_set1_req(rctx, req)) { |
| 184 | free(rctx->iobuf); | 186 | free(rctx->iobuf); |
| 187 | BIO_free(rctx->mem); | ||
| 185 | free(rctx); | 188 | free(rctx); |
| 186 | return 0; | 189 | return 0; |
| 187 | } | 190 | } |
diff --git a/src/lib/libssl/src/crypto/x509/x509_lu.c b/src/lib/libssl/src/crypto/x509/x509_lu.c index cbbe8e86f8..38b034bfee 100644 --- a/src/lib/libssl/src/crypto/x509/x509_lu.c +++ b/src/lib/libssl/src/crypto/x509/x509_lu.c | |||
| @@ -188,6 +188,7 @@ X509_STORE *X509_STORE_new(void) | |||
| 188 | ret->verify_cb=0; | 188 | ret->verify_cb=0; |
| 189 | 189 | ||
| 190 | if ((ret->param = X509_VERIFY_PARAM_new()) == NULL) { | 190 | if ((ret->param = X509_VERIFY_PARAM_new()) == NULL) { |
| 191 | sk_X509_OBJECT_free(ret->objs); | ||
| 191 | free(ret); | 192 | free(ret); |
| 192 | return NULL; | 193 | return NULL; |
| 193 | } | 194 | } |
diff --git a/src/lib/libssl/src/crypto/x509/x509spki.c b/src/lib/libssl/src/crypto/x509/x509spki.c index 28bc12e1a2..9f0fbd39e3 100644 --- a/src/lib/libssl/src/crypto/x509/x509spki.c +++ b/src/lib/libssl/src/crypto/x509/x509spki.c | |||
| @@ -111,6 +111,8 @@ char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *spki) | |||
| 111 | b64_str = malloc(der_len * 2); | 111 | b64_str = malloc(der_len * 2); |
| 112 | if(!der_spki || !b64_str) { | 112 | if(!der_spki || !b64_str) { |
| 113 | X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE); | 113 | X509err(X509_F_NETSCAPE_SPKI_B64_ENCODE, ERR_R_MALLOC_FAILURE); |
| 114 | free(der_spki); | ||
| 115 | free(b64_str); | ||
| 114 | return NULL; | 116 | return NULL; |
| 115 | } | 117 | } |
| 116 | p = der_spki; | 118 | p = der_spki; |
