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)
This commit is contained in:
Richard Levitte 2019-03-13 11:12:00 +01:00
parent f643deac41
commit 7bb19a0f95
2 changed files with 3 additions and 3 deletions

View File

@ -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;
}
}

View File

@ -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,