summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2017-01-25 08:55:40 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2017-01-25 09:56:35 +0100
commitde04596e55d786a448136aa2ef0fd9c343b82eb0 (patch)
treeaa04b785e9e89a5cc0b6bb281670da161ce025e8
parente0e47a90ea04f64a38278ef2f5862f0016e0598c (diff)
downloadgnutls-de04596e55d786a448136aa2ef0fd9c343b82eb0.tar.gz
pkcs7 decryption: addressed memory leak in PBES1-DES-CBC-MD5 handling
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r--lib/x509/pkcs7-crypt.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/x509/pkcs7-crypt.c b/lib/x509/pkcs7-crypt.c
index e62500c84d..c15752f995 100644
--- a/lib/x509/pkcs7-crypt.c
+++ b/lib/x509/pkcs7-crypt.c
@@ -1027,6 +1027,7 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
ret = _gnutls_x509_read_value(pkcs8_asn, root, &enc);
if (ret < 0) {
gnutls_assert();
+ enc.data = NULL;
goto cleanup;
}
@@ -1035,6 +1036,8 @@ _gnutls_pkcs_raw_decrypt_data(schema_id schema, ASN1_TYPE pkcs8_asn,
kdf_params,
enc_params, &enc,
decrypted_data);
+ if (ret < 0)
+ goto error;
goto cleanup;
}