From: Tomas Mraz Date: Thu, 7 Oct 2021 09:10:19 +0000 (+0200) Subject: doc: OPENSSL_CORE_CTX should never be cast to OSSL_LIB_CTX X-Git-Tag: openssl-3.2.0-alpha1~3477 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b80a7490d5008fa40417b804ea16e8fee13d93d;p=thirdparty%2Fopenssl.git doc: OPENSSL_CORE_CTX should never be cast to OSSL_LIB_CTX Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/16771) --- diff --git a/doc/man7/provider-base.pod b/doc/man7/provider-base.pod index 5af35bf4dcd..881854a3afc 100644 --- a/doc/man7/provider-base.pod +++ b/doc/man7/provider-base.pod @@ -220,10 +220,14 @@ the thread that is stopping and gets passed the provider context as an argument. This may be useful to perform thread specific clean up such as freeing thread local variables. -core_get_libctx() retrieves the library context in which the library +core_get_libctx() retrieves the core context in which the library object for the current provider is stored, accessible through the I. -This may sometimes be useful if the provider wishes to store a -reference to its context in the same library context. +This function is useful only for built-in providers such as the default +provider. Never cast this to OSSL_LIB_CTX in a provider that is not +built-in as the OSSL_LIB_CTX of the library loading the provider might be +a completely different structure than the OSSL_LIB_CTX of the library the +provider is linked to. Use L instead to obtain +a proper library context that is linked to the application library context. core_new_error(), core_set_error_debug() and core_vset_error() are building blocks for reporting an error back to the core, with