projects
/
oweals
/
openssl.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9b2cfb8
)
PR: 2088
author
Dr. Stephen Henson
<steve@openssl.org>
Thu, 12 Nov 2009 19:57:39 +0000
(19:57 +0000)
committer
Dr. Stephen Henson
<steve@openssl.org>
Thu, 12 Nov 2009 19:57:39 +0000
(19:57 +0000)
Submitted by: Aleksey Samsonov <s4ms0n0v@gmail.com>
Approved by: steve@openssl.org
Fix memory leak in d2i_PublicKey().
crypto/asn1/d2i_pu.c
patch
|
blob
|
history
diff --git
a/crypto/asn1/d2i_pu.c
b/crypto/asn1/d2i_pu.c
index 3694f51a8c0af5961b7765856f7b99402ed49300..c8f39ceb037beb1fef1cc42ed839a53fc7847871 100644
(file)
--- a/
crypto/asn1/d2i_pu.c
+++ b/
crypto/asn1/d2i_pu.c
@@
-87,9
+87,13
@@
EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, const unsigned char **pp,
}
else ret= *a;
- ret->save_type=type;
- ret->type=EVP_PKEY_type(type);
- switch (ret->type)
+ if (!EVP_PKEY_set_type(ret, type))
+ {
+ ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_EVP_LIB);
+ goto err;
+ }
+
+ switch (EVP_PKEY_id(ret))
{
#ifndef OPENSSL_NO_RSA
case EVP_PKEY_RSA: