diff options
| author | Jung-uk Kim <jkim@FreeBSD.org> | 2019-02-26 18:06:51 +0000 |
|---|---|---|
| committer | Jung-uk Kim <jkim@FreeBSD.org> | 2019-02-26 18:06:51 +0000 |
| commit | 851f7386fd78b9787f4f6669ad271886a2a003f1 (patch) | |
| tree | 952920d27fdcd105b7f77b6e5fef3fedae8f74ea /crypto/cms | |
| parent | 8c3f9abd70b3f447a4795c1b00b386b044fb322d (diff) | |
Notes
Diffstat (limited to 'crypto/cms')
| -rw-r--r-- | crypto/cms/cms_kari.c | 7 | ||||
| -rw-r--r-- | crypto/cms/cms_pwri.c | 1 |
2 files changed, 6 insertions, 2 deletions
diff --git a/crypto/cms/cms_kari.c b/crypto/cms/cms_kari.c index 3bc46febf640..5e83814d0fcf 100644 --- a/crypto/cms/cms_kari.c +++ b/crypto/cms/cms_kari.c @@ -1,5 +1,5 @@ /* - * Copyright 2013-2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2013-2019 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -282,7 +282,7 @@ static int cms_kari_create_ephemeral_key(CMS_KeyAgreeRecipientInfo *kari, return rv; } -/* Initialise a ktri based on passed certificate and key */ +/* Initialise a kari based on passed certificate and key */ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, EVP_PKEY *pk, unsigned int flags) @@ -299,6 +299,9 @@ int cms_RecipientInfo_kari_init(CMS_RecipientInfo *ri, X509 *recip, kari->version = 3; rek = M_ASN1_new_of(CMS_RecipientEncryptedKey); + if (rek == NULL) + return 0; + if (!sk_CMS_RecipientEncryptedKey_push(kari->recipientEncryptedKeys, rek)) { M_ASN1_free_of(rek, CMS_RecipientEncryptedKey); return 0; diff --git a/crypto/cms/cms_pwri.c b/crypto/cms/cms_pwri.c index eac9c2fc862e..26e3bdcf9e41 100644 --- a/crypto/cms/cms_pwri.c +++ b/crypto/cms/cms_pwri.c @@ -373,6 +373,7 @@ int cms_RecipientInfo_pwri_crypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri, goto err; } + OPENSSL_clear_free(ec->key, ec->keylen); ec->key = key; ec->keylen = keylen; |
