summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/asn1/ameth_lib.c9
-rw-r--r--src/lib/libcrypto/asn1/asn_mime.c4
-rw-r--r--src/lib/libcrypto/asn1/asn_pack.c7
-rw-r--r--src/lib/libcrypto/asn1/evp_asn1.c6
-rw-r--r--src/lib/libssl/src/crypto/asn1/ameth_lib.c9
-rw-r--r--src/lib/libssl/src/crypto/asn1/asn_mime.c4
-rw-r--r--src/lib/libssl/src/crypto/asn1/asn_pack.c7
-rw-r--r--src/lib/libssl/src/crypto/asn1/evp_asn1.c6
8 files changed, 38 insertions, 14 deletions
diff --git a/src/lib/libcrypto/asn1/ameth_lib.c b/src/lib/libcrypto/asn1/ameth_lib.c
index 8701e97337..e9f73cb3a6 100644
--- a/src/lib/libcrypto/asn1/ameth_lib.c
+++ b/src/lib/libcrypto/asn1/ameth_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ameth_lib.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: ameth_lib.c,v 1.13 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -242,11 +242,16 @@ int
242EVP_PKEY_asn1_add_alias(int to, int from) 242EVP_PKEY_asn1_add_alias(int to, int from)
243{ 243{
244 EVP_PKEY_ASN1_METHOD *ameth; 244 EVP_PKEY_ASN1_METHOD *ameth;
245
245 ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL); 246 ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL);
246 if (!ameth) 247 if (!ameth)
247 return 0; 248 return 0;
248 ameth->pkey_base_id = to; 249 ameth->pkey_base_id = to;
249 return EVP_PKEY_asn1_add0(ameth); 250 if (!EVP_PKEY_asn1_add0(ameth)) {
251 EVP_PKEY_asn1_free(ameth);
252 return 0;
253 }
254 return 1;
250} 255}
251 256
252int 257int
diff --git a/src/lib/libcrypto/asn1/asn_mime.c b/src/lib/libcrypto/asn1/asn_mime.c
index 41b39efa7b..994531837f 100644
--- a/src/lib/libcrypto/asn1/asn_mime.c
+++ b/src/lib/libcrypto/asn1/asn_mime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_mime.c,v 1.20 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn_mime.c,v 1.21 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -675,6 +675,8 @@ STACK_OF(MIME_HEADER) *mime_parse_hdr(BIO *bio)
675 int len, state, save_state = 0; 675 int len, state, save_state = 0;
676 676
677 headers = sk_MIME_HEADER_new(mime_hdr_cmp); 677 headers = sk_MIME_HEADER_new(mime_hdr_cmp);
678 if (!headers)
679 return NULL;
678 while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) { 680 while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) {
679 /* If whitespace at line start then continuation line */ 681 /* If whitespace at line start then continuation line */
680 if (mhdr && isspace((unsigned char)linebuf[0])) 682 if (mhdr && isspace((unsigned char)linebuf[0]))
diff --git a/src/lib/libcrypto/asn1/asn_pack.c b/src/lib/libcrypto/asn1/asn_pack.c
index 5d3fc3c34d..f010f87bbd 100644
--- a/src/lib/libcrypto/asn1/asn_pack.c
+++ b/src/lib/libcrypto/asn1/asn_pack.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_pack.c,v 1.13 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn_pack.c,v 1.14 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -155,8 +155,11 @@ ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct)
155 *oct = octmp; 155 *oct = octmp;
156 return octmp; 156 return octmp;
157err: 157err:
158 if (!oct || octmp != *oct) 158 if (!oct || octmp != *oct) {
159 ASN1_STRING_free(octmp); 159 ASN1_STRING_free(octmp);
160 if (oct)
161 *oct = NULL;
162 }
160 return NULL; 163 return NULL;
161} 164}
162 165
diff --git a/src/lib/libcrypto/asn1/evp_asn1.c b/src/lib/libcrypto/asn1/evp_asn1.c
index 648fae9fbd..199c12f9a4 100644
--- a/src/lib/libcrypto/asn1/evp_asn1.c
+++ b/src/lib/libcrypto/asn1/evp_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_asn1.c,v 1.11 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: evp_asn1.c,v 1.12 2014/07/11 13:41:59 miod Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,8 +70,10 @@ ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len)
70 70
71 if ((os = M_ASN1_OCTET_STRING_new()) == NULL) 71 if ((os = M_ASN1_OCTET_STRING_new()) == NULL)
72 return (0); 72 return (0);
73 if (!M_ASN1_OCTET_STRING_set(os, data, len)) 73 if (!M_ASN1_OCTET_STRING_set(os, data, len)) {
74 M_ASN1_OCTET_STRING_free(os);
74 return (0); 75 return (0);
76 }
75 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os); 77 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os);
76 return (1); 78 return (1);
77} 79}
diff --git a/src/lib/libssl/src/crypto/asn1/ameth_lib.c b/src/lib/libssl/src/crypto/asn1/ameth_lib.c
index 8701e97337..e9f73cb3a6 100644
--- a/src/lib/libssl/src/crypto/asn1/ameth_lib.c
+++ b/src/lib/libssl/src/crypto/asn1/ameth_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ameth_lib.c,v 1.12 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: ameth_lib.c,v 1.13 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -242,11 +242,16 @@ int
242EVP_PKEY_asn1_add_alias(int to, int from) 242EVP_PKEY_asn1_add_alias(int to, int from)
243{ 243{
244 EVP_PKEY_ASN1_METHOD *ameth; 244 EVP_PKEY_ASN1_METHOD *ameth;
245
245 ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL); 246 ameth = EVP_PKEY_asn1_new(from, ASN1_PKEY_ALIAS, NULL, NULL);
246 if (!ameth) 247 if (!ameth)
247 return 0; 248 return 0;
248 ameth->pkey_base_id = to; 249 ameth->pkey_base_id = to;
249 return EVP_PKEY_asn1_add0(ameth); 250 if (!EVP_PKEY_asn1_add0(ameth)) {
251 EVP_PKEY_asn1_free(ameth);
252 return 0;
253 }
254 return 1;
250} 255}
251 256
252int 257int
diff --git a/src/lib/libssl/src/crypto/asn1/asn_mime.c b/src/lib/libssl/src/crypto/asn1/asn_mime.c
index 41b39efa7b..994531837f 100644
--- a/src/lib/libssl/src/crypto/asn1/asn_mime.c
+++ b/src/lib/libssl/src/crypto/asn1/asn_mime.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_mime.c,v 1.20 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn_mime.c,v 1.21 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project. 3 * project.
4 */ 4 */
@@ -675,6 +675,8 @@ STACK_OF(MIME_HEADER) *mime_parse_hdr(BIO *bio)
675 int len, state, save_state = 0; 675 int len, state, save_state = 0;
676 676
677 headers = sk_MIME_HEADER_new(mime_hdr_cmp); 677 headers = sk_MIME_HEADER_new(mime_hdr_cmp);
678 if (!headers)
679 return NULL;
678 while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) { 680 while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) {
679 /* If whitespace at line start then continuation line */ 681 /* If whitespace at line start then continuation line */
680 if (mhdr && isspace((unsigned char)linebuf[0])) 682 if (mhdr && isspace((unsigned char)linebuf[0]))
diff --git a/src/lib/libssl/src/crypto/asn1/asn_pack.c b/src/lib/libssl/src/crypto/asn1/asn_pack.c
index 5d3fc3c34d..f010f87bbd 100644
--- a/src/lib/libssl/src/crypto/asn1/asn_pack.c
+++ b/src/lib/libssl/src/crypto/asn1/asn_pack.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: asn_pack.c,v 1.13 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: asn_pack.c,v 1.14 2014/07/11 13:41:59 miod Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -155,8 +155,11 @@ ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct)
155 *oct = octmp; 155 *oct = octmp;
156 return octmp; 156 return octmp;
157err: 157err:
158 if (!oct || octmp != *oct) 158 if (!oct || octmp != *oct) {
159 ASN1_STRING_free(octmp); 159 ASN1_STRING_free(octmp);
160 if (oct)
161 *oct = NULL;
162 }
160 return NULL; 163 return NULL;
161} 164}
162 165
diff --git a/src/lib/libssl/src/crypto/asn1/evp_asn1.c b/src/lib/libssl/src/crypto/asn1/evp_asn1.c
index 648fae9fbd..199c12f9a4 100644
--- a/src/lib/libssl/src/crypto/asn1/evp_asn1.c
+++ b/src/lib/libssl/src/crypto/asn1/evp_asn1.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_asn1.c,v 1.11 2014/07/11 08:44:47 jsing Exp $ */ 1/* $OpenBSD: evp_asn1.c,v 1.12 2014/07/11 13:41:59 miod Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -70,8 +70,10 @@ ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len)
70 70
71 if ((os = M_ASN1_OCTET_STRING_new()) == NULL) 71 if ((os = M_ASN1_OCTET_STRING_new()) == NULL)
72 return (0); 72 return (0);
73 if (!M_ASN1_OCTET_STRING_set(os, data, len)) 73 if (!M_ASN1_OCTET_STRING_set(os, data, len)) {
74 M_ASN1_OCTET_STRING_free(os);
74 return (0); 75 return (0);
76 }
75 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os); 77 ASN1_TYPE_set(a, V_ASN1_OCTET_STRING, os);
76 return (1); 78 return (1);
77} 79}