diff options
author | tedu <> | 2015-03-19 14:00:22 +0000 |
---|---|---|
committer | tedu <> | 2015-03-19 14:00:22 +0000 |
commit | 325847dec91a0775a2c9806147ab783c0737cc84 (patch) | |
tree | e1849327a9d18d917e7698c775d31f7ae7c4e34f /src/lib/libcrypto/asn1/a_int.c | |
parent | 5018b21486fe3d91084c0d32a86d1240d832e25e (diff) | |
download | openbsd-325847dec91a0775a2c9806147ab783c0737cc84.tar.gz openbsd-325847dec91a0775a2c9806147ab783c0737cc84.tar.bz2 openbsd-325847dec91a0775a2c9806147ab783c0737cc84.zip |
Fix several crash causing defects from OpenSSL.
These include:
CVE-2015-0209 - Use After Free following d2i_ECPrivatekey error
CVE-2015-0286 - Segmentation fault in ASN1_TYPE_cmp
CVE-2015-0287 - ASN.1 structure reuse memory corruption
CVE-2015-0289 - PKCS7 NULL pointer dereferences
Several other issues did not apply or were already fixed.
Refer to https://www.openssl.org/news/secadv_20150319.txt
joint work with beck, doug, guenther, jsing, miod
Diffstat (limited to 'src/lib/libcrypto/asn1/a_int.c')
-rw-r--r-- | src/lib/libcrypto/asn1/a_int.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/lib/libcrypto/asn1/a_int.c b/src/lib/libcrypto/asn1/a_int.c index fe6ce5ee9f..af5d64d056 100644 --- a/src/lib/libcrypto/asn1/a_int.c +++ b/src/lib/libcrypto/asn1/a_int.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: a_int.c,v 1.25 2015/02/10 08:33:10 jsing Exp $ */ | 1 | /* $OpenBSD: a_int.c,v 1.26 2015/03/19 14:00:22 tedu 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 | * |
@@ -268,7 +268,7 @@ c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long len) | |||
268 | 268 | ||
269 | err: | 269 | err: |
270 | ASN1err(ASN1_F_C2I_ASN1_INTEGER, i); | 270 | ASN1err(ASN1_F_C2I_ASN1_INTEGER, i); |
271 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 271 | if (a == NULL || *a != ret) |
272 | M_ASN1_INTEGER_free(ret); | 272 | M_ASN1_INTEGER_free(ret); |
273 | return (NULL); | 273 | return (NULL); |
274 | } | 274 | } |
@@ -335,7 +335,7 @@ d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length) | |||
335 | 335 | ||
336 | err: | 336 | err: |
337 | ASN1err(ASN1_F_D2I_ASN1_UINTEGER, i); | 337 | ASN1err(ASN1_F_D2I_ASN1_UINTEGER, i); |
338 | if ((ret != NULL) && ((a == NULL) || (*a != ret))) | 338 | if (a == NULL || *a != ret) |
339 | M_ASN1_INTEGER_free(ret); | 339 | M_ASN1_INTEGER_free(ret); |
340 | return (NULL); | 340 | return (NULL); |
341 | } | 341 | } |