Coverity fixes
[openssl.git] / crypto / provider_core.c
index 837f4b5daf115232a377bc90a199a8f7925c0e92..bcf6aa9eb1cc1c7da1e44eefa4db6d7790c0155c 100644 (file)
@@ -194,7 +194,8 @@ int ossl_provider_upref(OSSL_PROVIDER *prov)
 {
     int ref = 0;
 
-    CRYPTO_UP_REF(&prov->refcnt, &ref, prov->refcnt_lock);
+    if (CRYPTO_UP_REF(&prov->refcnt, &ref, prov->refcnt_lock) <= 0)
+        return 0;
     return ref;
 }