diff --git a/crypto/x509/x509_lu.c b/crypto/x509/x509_lu.c index 38525a8cd..72121f6be 100644 --- a/crypto/x509/x509_lu.c +++ b/crypto/x509/x509_lu.c @@ -238,6 +238,19 @@ void X509_STORE_free(X509_STORE *vfy) if (vfy == NULL) return; + i=CRYPTO_add(&vfy->references,-1,CRYPTO_LOCK_X509_STORE); +#ifdef REF_PRINT + REF_PRINT("X509_STORE",vfy); +#endif + if (i > 0) return; +#ifdef REF_CHECK + if (i < 0) + { + fprintf(stderr,"X509_STORE_free, bad reference count\n"); + abort(); /* ok */ + } +#endif + sk=vfy->get_cert_methods; for (i=0; i