From 7bb19a0f950dd87607133d526e31a083f35921fd Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 13 Mar 2019 11:12:00 +0100 Subject: [PATCH] Replumbing: pass callback data to the algo destructor too All relevant OSSL_METHOD_CONSTRUCT_METHOD callbacks got the callback data passed to them, except 'destruct'. There's no reason why it shouldn't get that pointer passed, so we make a small adjustment. Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/8341) --- crypto/core_fetch.c | 4 ++-- include/internal/core.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crypto/core_fetch.c b/crypto/core_fetch.c index d2d7766512..bfdd36d429 100644 --- a/crypto/core_fetch.c +++ b/crypto/core_fetch.c @@ -47,7 +47,7 @@ static int ossl_method_construct_this(OSSL_PROVIDER *provider, void *cbdata) if (!data->mcm->put(data->libctx, NULL, thismap->property_definition, method, data->mcm_data)) { - data->mcm->destruct(method); + data->mcm->destruct(method, data->mcm_data); continue; } } @@ -55,7 +55,7 @@ static int ossl_method_construct_this(OSSL_PROVIDER *provider, void *cbdata) if (!data->mcm->put(data->libctx, data->store, thismap->property_definition, method, data->mcm_data)) { - data->mcm->destruct(method); + data->mcm->destruct(method, data->mcm_data); continue; } } diff --git a/include/internal/core.h b/include/internal/core.h index 2f0df376d3..b395025ecc 100644 --- a/include/internal/core.h +++ b/include/internal/core.h @@ -41,7 +41,7 @@ typedef struct ossl_method_construct_method_st { void *(*construct)(const OSSL_DISPATCH *fns, OSSL_PROVIDER *prov, void *data); /* Destruct a method */ - void (*destruct)(void *method); + void (*destruct)(void *method, void *data); } OSSL_METHOD_CONSTRUCT_METHOD; void *ossl_method_construct(OPENSSL_CTX *ctx, int operation_id, -- 2.39.5