mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
TRACE: automatically respect disabled categories
by fixing OSSL_trace_begin() to return NULL when given category is not enabled Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/25652)
This commit is contained in:
parent
e8d963594f
commit
72d3e9bac4
@ -475,7 +475,7 @@ BIO *OSSL_trace_begin(int category)
|
||||
char *prefix = NULL;
|
||||
|
||||
category = ossl_trace_get_category(category);
|
||||
if (category < 0)
|
||||
if (category < 0 || !OSSL_trace_enabled(category))
|
||||
return NULL;
|
||||
|
||||
channel = trace_channels[category].bio;
|
||||
|
@ -97,9 +97,10 @@ I<category> is enabled, i.e., if the tracing facility has been statically
|
||||
enabled (see L</Configure Tracing> below) and a trace channel has been
|
||||
registered using L<OSSL_trace_set_channel(3)> or L<OSSL_trace_set_callback(3)>.
|
||||
|
||||
OSSL_trace_begin() is used to starts a tracing section, and get the
|
||||
channel for the given I<category> in form of a BIO.
|
||||
OSSL_trace_begin() is used to start a tracing section,
|
||||
and get the channel for the given I<category> in form of a BIO.
|
||||
This BIO can only be used for output.
|
||||
The pointer returned is NULL if the category is invalid or not enabled.
|
||||
|
||||
OSSL_trace_end() is used to end a tracing section.
|
||||
|
||||
@ -211,6 +212,9 @@ expands to
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
It is not needed to guard trace output function calls like
|
||||
I<OSSL_TRACE(category, ...)> by I<OSSL_TRACE_ENABLED(category)>.
|
||||
|
||||
If producing the trace output requires carrying out auxiliary calculations,
|
||||
this auxiliary code should be placed inside a conditional block which is
|
||||
executed only if the trace category is enabled.
|
||||
|
Loading…
Reference in New Issue
Block a user