Commit 7bb19a0f authored by Richard Levitte's avatar Richard Levitte
Browse files

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: default avatarMatt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8341)
parent f643deac
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
        }
    }
+1 −1
Original line number Diff line number Diff line
@@ -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,