summaryrefslogtreecommitdiff
path: root/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
diff options
context:
space:
mode:
authorMathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>2015-05-06 09:50:11 -0400
committerMathieu Trudel-Lapierre <mathieu.trudel-lapierre@canonical.com>2015-05-06 09:50:11 -0400
commit4c03444e7c971185c20fa102eb09b707aea0d4d4 (patch)
treec8402158f0090f45bb46b9b539d981633e509f9a /Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
parent2283f5e85dbc78dd10810cb6ebfa39e61ab6759e (diff)
parenta14921c5944c340056312f2f5b1728d698f628b1 (diff)
downloadefi-boot-shim-4c03444e7c971185c20fa102eb09b707aea0d4d4.tar.gz
efi-boot-shim-4c03444e7c971185c20fa102eb09b707aea0d4d4.zip
New upstream release.
Diffstat (limited to 'Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c')
-rw-r--r--[-rwxr-xr-x]Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c b/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
index 94d9f7eb..bc8a7bf3 100755..100644
--- a/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
+++ b/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
@@ -371,12 +371,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key)
CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY);
if (key->pkey)
{
+ CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
EVP_PKEY_free(ret);
ret = key->pkey;
}
else
+ {
key->pkey = ret;
- CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
+ CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
+ }
CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
return(ret);
err: