Check PKCS#8 pkey field is valid before cleansing.
PR:3683
Reviewed-by: Tim Hudson <tjh@openssl.org>
(cherry picked from commit 52e028b9de
)
This commit is contained in:
parent
81ce20e6ac
commit
6b7c68e038
@ -69,7 +69,8 @@ static int pkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it,
|
|||||||
/* Since the structure must still be valid use ASN1_OP_FREE_PRE */
|
/* Since the structure must still be valid use ASN1_OP_FREE_PRE */
|
||||||
if (operation == ASN1_OP_FREE_PRE) {
|
if (operation == ASN1_OP_FREE_PRE) {
|
||||||
PKCS8_PRIV_KEY_INFO *key = (PKCS8_PRIV_KEY_INFO *)*pval;
|
PKCS8_PRIV_KEY_INFO *key = (PKCS8_PRIV_KEY_INFO *)*pval;
|
||||||
if (key->pkey->value.octet_string)
|
if (key->pkey && key->pkey->type == V_ASN1_OCTET_STRING
|
||||||
|
&& key->pkey->value.octet_string != NULL)
|
||||||
OPENSSL_cleanse(key->pkey->value.octet_string->data,
|
OPENSSL_cleanse(key->pkey->value.octet_string->data,
|
||||||
key->pkey->value.octet_string->length);
|
key->pkey->value.octet_string->length);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user