summaryrefslogtreecommitdiffstats
path: root/lib/libssl/src
diff options
context:
space:
mode:
authordoug <doug@openbsd.org>2015-04-25 16:02:55 +0000
committerdoug <doug@openbsd.org>2015-04-25 16:02:55 +0000
commit36b8750d2828526fc94c61ed23c55d3386b63241 (patch)
treec5ba4bc449cbc75534ef3aac982d68f80ce62132 /lib/libssl/src
parentExplicitly cancel mouse "button" mode, this happens implicitly with some (diff)
downloadwireguard-openbsd-36b8750d2828526fc94c61ed23c55d3386b63241.tar.xz
wireguard-openbsd-36b8750d2828526fc94c61ed23c55d3386b63241.zip
Don't ignore the reference count in X509_STORE_free.
Based on this upstream commit: bff9ce4db38b297c72a6d84617d71ae2934450f7 which didn't make it into a release until 1.0.2. Thanks to william at 25thandclement dot com for reporting this! ok deraadt@ jsing@ beck@
Diffstat (limited to 'lib/libssl/src')
-rw-r--r--lib/libssl/src/crypto/x509/x509_lu.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libssl/src/crypto/x509/x509_lu.c b/lib/libssl/src/crypto/x509/x509_lu.c
index e8151b774a7..fdb10023bec 100644
--- a/lib/libssl/src/crypto/x509/x509_lu.c
+++ b/lib/libssl/src/crypto/x509/x509_lu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: x509_lu.c,v 1.19 2015/02/10 11:22:21 jsing Exp $ */
+/* $OpenBSD: x509_lu.c,v 1.20 2015/04/25 16:02:55 doug Exp $ */
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
* All rights reserved.
*
@@ -254,6 +254,10 @@ X509_STORE_free(X509_STORE *vfy)
if (vfy == NULL)
return;
+ i = CRYPTO_add(&vfy->references, -1, CRYPTO_LOCK_X509_STORE);
+ if (i > 0)
+ return;
+
sk = vfy->get_cert_methods;
for (i = 0; i < sk_X509_LOOKUP_num(sk); i++) {
lu = sk_X509_LOOKUP_value(sk, i);