summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlogan <>2014-06-04 20:04:55 +0000
committerlogan <>2014-06-04 20:04:55 +0000
commit98cd07cb773373d61f700f7305f402159b70ed45 (patch)
tree1b9915059330e739880cc6578047ec4d4a21a99a
parentf1af6a0fd89c7819b589f8168a570bcd35c0f727 (diff)
downloadopenbsd-98cd07cb773373d61f700f7305f402159b70ed45.tar.gz
openbsd-98cd07cb773373d61f700f7305f402159b70ed45.tar.bz2
openbsd-98cd07cb773373d61f700f7305f402159b70ed45.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@
-rw-r--r--src/lib/libcrypto/pkcs12/p12_kiss.c2
-rw-r--r--src/lib/libssl/src/crypto/pkcs12/p12_kiss.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libcrypto/pkcs12/p12_kiss.c b/src/lib/libcrypto/pkcs12/p12_kiss.c
index bc1fcff45d..cfefc6aaac 100644
--- a/src/lib/libcrypto/pkcs12/p12_kiss.c
+++ b/src/lib/libcrypto/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)
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)