summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/asn1/x_pubkey.c
diff options
context:
space:
mode:
authormiod <>2014-04-13 15:25:35 +0000
committermiod <>2014-04-13 15:25:35 +0000
commit1fb5cf10c3e597dbb1ecc4dd423bba727fd7721a (patch)
tree74f4ff344980894c7c9ceeab9b81176ac7572566 /src/lib/libcrypto/asn1/x_pubkey.c
parent92349eb53934e1b3e9b807e603d45417a6320d21 (diff)
downloadopenbsd-1fb5cf10c3e597dbb1ecc4dd423bba727fd7721a.tar.gz
openbsd-1fb5cf10c3e597dbb1ecc4dd423bba727fd7721a.tar.bz2
openbsd-1fb5cf10c3e597dbb1ecc4dd423bba727fd7721a.zip
Merge conflicts; remove MacOS, Netware, OS/2, VMS and Windows build machinery.
Diffstat (limited to 'src/lib/libcrypto/asn1/x_pubkey.c')
-rw-r--r--src/lib/libcrypto/asn1/x_pubkey.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/libcrypto/asn1/x_pubkey.c b/src/lib/libcrypto/asn1/x_pubkey.c
index 627ec87f9f..b649e1fcf9 100644
--- a/src/lib/libcrypto/asn1/x_pubkey.c
+++ b/src/lib/libcrypto/asn1/x_pubkey.c
@@ -175,12 +175,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key)
175 CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY); 175 CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY);
176 if (key->pkey) 176 if (key->pkey)
177 { 177 {
178 CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
178 EVP_PKEY_free(ret); 179 EVP_PKEY_free(ret);
179 ret = key->pkey; 180 ret = key->pkey;
180 } 181 }
181 else 182 else
183 {
182 key->pkey = ret; 184 key->pkey = ret;
183 CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY); 185 CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
186 }
184 CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY); 187 CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
185 188
186 return ret; 189 return ret;