projects
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
48ff651
)
PKCS#8: free data on error path in newpass_bag
author
Pauli
<paul.dale@oracle.com>
Sun, 13 Sep 2020 21:40:58 +0000
(07:40 +1000)
committer
Pauli
<paul.dale@oracle.com>
Tue, 15 Sep 2020 21:22:43 +0000
(07:22 +1000)
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/12870)
crypto/pkcs12/p12_npas.c
patch
|
blob
|
history
diff --git
a/crypto/pkcs12/p12_npas.c
b/crypto/pkcs12/p12_npas.c
index ee35c45abb45fd6db8725a8f7ac85fd4fe8ae62c..7f04ce10de376e21cc73342c032e80e82ae9c8fc 100644
(file)
--- a/
crypto/pkcs12/p12_npas.c
+++ b/
crypto/pkcs12/p12_npas.c
@@
-157,8
+157,10
@@
static int newpass_bag(PKCS12_SAFEBAG *bag, const char *oldpass,
if ((p8 = PKCS8_decrypt(bag->value.shkeybag, oldpass, -1)) == NULL)
return 0;
X509_SIG_get0(bag->value.shkeybag, &shalg, NULL);
- if (!alg_get(shalg, &p8_nid, &p8_iter, &p8_saltlen))
+ if (!alg_get(shalg, &p8_nid, &p8_iter, &p8_saltlen)) {
+ PKCS8_PRIV_KEY_INFO_free(p8);
return 0;
+ }
p8new = PKCS8_encrypt(p8_nid, NULL, newpass, -1, NULL, p8_saltlen,
p8_iter, p8);
PKCS8_PRIV_KEY_INFO_free(p8);