diff options
| author | tb <> | 2018-11-09 04:20:27 +0000 |
|---|---|---|
| committer | tb <> | 2018-11-09 04:20:27 +0000 |
| commit | 3d875f32d54a305a80087d93529dcec9a866ed93 (patch) | |
| tree | 2dc35d16a28f31ab4a545e03c1caacc88d5b901d /src/lib/libc | |
| parent | 8220b8f4b70fd33c105730f56948f1b69fb533c0 (diff) | |
| download | openbsd-3d875f32d54a305a80087d93529dcec9a866ed93.tar.gz openbsd-3d875f32d54a305a80087d93529dcec9a866ed93.tar.bz2 openbsd-3d875f32d54a305a80087d93529dcec9a866ed93.zip | |
Avoid leaking memory that was already allocated in ASN1_item_new().
From Ben L <bobsayshilol () live ! co ! uk>
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/asn1/evp_asn1.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/lib/libcrypto/asn1/evp_asn1.c b/src/lib/libcrypto/asn1/evp_asn1.c index 4d616e2b34..4b7ebbb022 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.22 2018/11/09 03:42:30 tb Exp $ */ | 1 | /* $OpenBSD: evp_asn1.c,v 1.23 2018/11/09 04:20:27 tb 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 | * |
| @@ -137,12 +137,8 @@ ASN1_TYPE_set_int_octetstring(ASN1_TYPE *at, long num, const unsigned char *data | |||
| 137 | if ((ios = (ASN1_int_octetstring *)ASN1_item_new( | 137 | if ((ios = (ASN1_int_octetstring *)ASN1_item_new( |
| 138 | &ASN1_INT_OCTETSTRING_it)) == NULL) | 138 | &ASN1_INT_OCTETSTRING_it)) == NULL) |
| 139 | goto err; | 139 | goto err; |
| 140 | if ((ios->num = ASN1_INTEGER_new()) == NULL) | ||
| 141 | goto err; | ||
| 142 | if (!ASN1_INTEGER_set(ios->num, num)) | 140 | if (!ASN1_INTEGER_set(ios->num, num)) |
| 143 | goto err; | 141 | goto err; |
| 144 | if ((ios->value = ASN1_OCTET_STRING_new()) == NULL) | ||
| 145 | goto err; | ||
| 146 | if (!ASN1_OCTET_STRING_set(ios->value, data, len)) | 142 | if (!ASN1_OCTET_STRING_set(ios->value, data, len)) |
| 147 | goto err; | 143 | goto err; |
| 148 | 144 | ||
