summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-03-13 11:12:00 +0100
committerRichard Levitte <levitte@openssl.org>2019-03-18 14:27:02 +0100
commit7bb19a0f950dd87607133d526e31a083f35921fd (patch)
tree5ccc97c0a355c194d95eecf8b5d920039cecf655
parentf643deac417a3ccb27f77670bb2b136de49079d9 (diff)
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 <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8341)
-rw-r--r--crypto/core_fetch.c4
-rw-r--r--include/internal/core.h2
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,