diff options
Diffstat (limited to 'src/lib/libcrypto/asn1')
| -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 |
3 files changed, 8 insertions, 2 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 | } |
