diff options
author | logan <> | 2014-06-04 20:04:55 +0000 |
---|---|---|
committer | logan <> | 2014-06-04 20:04:55 +0000 |
commit | 95e4d3d1bbe977976ad0f2058375f6f4713a6474 (patch) | |
tree | 1b9915059330e739880cc6578047ec4d4a21a99a /src/lib/libssl/src | |
parent | d492661281c20abc5a3d96742866e0d1e698192a (diff) | |
download | openbsd-95e4d3d1bbe977976ad0f2058375f6f4713a6474.tar.gz openbsd-95e4d3d1bbe977976ad0f2058375f6f4713a6474.tar.bz2 openbsd-95e4d3d1bbe977976ad0f2058375f6f4713a6474.zip |
Fix a leak that can occur when len == 0, and as a result we leak a \0 byte.
(From Frantisek Boranek)
OK from miod@
Diffstat (limited to 'src/lib/libssl/src')
-rw-r--r-- | src/lib/libssl/src/crypto/pkcs12/p12_kiss.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lib/libssl/src/crypto/pkcs12/p12_kiss.c b/src/lib/libssl/src/crypto/pkcs12/p12_kiss.c index bc1fcff45d..cfefc6aaac 100644 --- a/src/lib/libssl/src/crypto/pkcs12/p12_kiss.c +++ b/src/lib/libssl/src/crypto/pkcs12/p12_kiss.c | |||
@@ -269,7 +269,7 @@ static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen, | |||
269 | int len, r; | 269 | int len, r; |
270 | unsigned char *data; | 270 | unsigned char *data; |
271 | len = ASN1_STRING_to_UTF8(&data, fname); | 271 | len = ASN1_STRING_to_UTF8(&data, fname); |
272 | if(len > 0) { | 272 | if(len >= 0) { |
273 | r = X509_alias_set1(x509, data, len); | 273 | r = X509_alias_set1(x509, data, len); |
274 | free(data); | 274 | free(data); |
275 | if (!r) | 275 | if (!r) |