Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/openssl/openssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-08-21 10:58:10 +0300
committerRichard Levitte <levitte@openssl.org>2019-08-22 02:50:30 +0300
commitb1d40ddfe23fd9551b89cdcfa52d1c23fc667f8a (patch)
tree1eb6cc4b725753f4f20a5e2ded72fcd1a919a114 /include/internal
parentd32d304836caaca475c21a82b94e494898cb60c5 (diff)
Modify ossl_method_store_add() to handle reference counting
Because this function affects the reference count on failure (the call to impl_free() does this), it may as well handle incrementing it as well to indicate the extra reference in the method store. Reviewed-by: Shane Lontis <shane.lontis@oracle.com> (Merged from https://github.com/openssl/openssl/pull/9650)
Diffstat (limited to 'include/internal')
-rw-r--r--include/internal/property.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/internal/property.h b/include/internal/property.h
index a916be3cc5..e7e7f574e8 100644
--- a/include/internal/property.h
+++ b/include/internal/property.h
@@ -20,6 +20,7 @@ OSSL_METHOD_STORE *ossl_method_store_new(OPENSSL_CTX *ctx);
void ossl_method_store_free(OSSL_METHOD_STORE *store);
int ossl_method_store_add(OSSL_METHOD_STORE *store, int nid,
const char *properties, void *implementation,
+ int (*implementation_up_ref)(void *),
void (*implementation_destruct)(void *));
int ossl_method_store_remove(OSSL_METHOD_STORE *store,
int nid, const void *implementation);