summaryrefslogtreecommitdiffstats
path: root/crypto/trace.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-03-14 00:39:28 +0100
committerRichard Levitte <levitte@openssl.org>2019-03-14 08:12:51 +0100
commitd33d76168fb7642916cdcb7ccb0513abdb6f5f05 (patch)
tree04549d101abb300807e4437449e11bb60ca5d6c2 /crypto/trace.c
parent81d61a62faa809e6c51f5fc2b86fb0d31146fd5e (diff)
Don't fail when tracing is disabled
When tracing is disabled, don't generate errors, especially during init. Instead, just pretend the everything is fine. Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/8475)
Diffstat (limited to 'crypto/trace.c')
-rw-r--r--crypto/trace.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/crypto/trace.c b/crypto/trace.c
index 8ead944b43..c0b3ab2ed5 100644
--- a/crypto/trace.c
+++ b/crypto/trace.c
@@ -287,11 +287,11 @@ int ossl_trace_init(void)
{
#ifndef OPENSSL_NO_TRACE
trace_lock = CRYPTO_THREAD_lock_new();
- if (trace_lock != NULL)
- return 1;
+ if (trace_lock == NULL)
+ return 0;
#endif
- return 0;
+ return 1;
}
void ossl_trace_cleanup(void)
@@ -321,15 +321,11 @@ int OSSL_trace_set_channel(int category, BIO *channel)
if (category < 0 || category >= OSSL_TRACE_CATEGORY_NUM
|| !set_trace_data(category, &channel, NULL, NULL,
trace_attach_cb, trace_detach_cb))
- goto err;
+ return 0;
trace_channels[category].type = t_channel;
- return 1;
-
- err:
#endif
-
- return 0;
+ return 1;
}
#ifndef OPENSSL_NO_TRACE
@@ -383,36 +379,41 @@ int OSSL_trace_set_callback(int category, OSSL_trace_cb callback, void *data)
goto err;
trace_channels[category].type = t_callback;
- return 1;
+ goto done;
err:
BIO_free(channel);
OPENSSL_free(trace_data);
-#endif
-
return 0;
+ done:
+#endif
+ return 1;
}
int OSSL_trace_set_prefix(int category, const char *prefix)
{
+ int rv = 1;
+
#ifndef OPENSSL_NO_TRACE
if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM)
return set_trace_data(category, NULL, &prefix, NULL,
trace_attach_cb, trace_detach_cb);
+ rv = 0;
#endif
-
- return 0;
+ return rv;
}
int OSSL_trace_set_suffix(int category, const char *suffix)
{
+ int rv = 1;
+
#ifndef OPENSSL_NO_TRACE
if (category >= 0 || category < OSSL_TRACE_CATEGORY_NUM)
return set_trace_data(category, NULL, NULL, &suffix,
trace_attach_cb, trace_detach_cb);
+ rv = 0;
#endif
-
- return 0;
+ return rv;
}
#ifndef OPENSSL_NO_TRACE