summaryrefslogtreecommitdiff
path: root/crypto/trace.c
diff options
context:
space:
mode:
authorDaniel Fiala <daniel@openssl.org>2022-08-05 04:44:51 +0200
committerTomas Mraz <tomas@openssl.org>2022-09-16 08:31:56 +0200
commitfcff5bd43c85418cc4aa8052e3dc3dba344d763e (patch)
tree58094e308b5f5009f0607c138586b6c3e0681480 /crypto/trace.c
parent181167b6d0e5cd896847f7538adf28878b81b0b2 (diff)
downloadopenssl-new-fcff5bd43c85418cc4aa8052e3dc3dba344d763e.tar.gz
Add tests for trace_api.
Fixes openssl#17422 Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19096)
Diffstat (limited to 'crypto/trace.c')
-rw-r--r--crypto/trace.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/crypto/trace.c b/crypto/trace.c
index 09a08a6512..0d58932825 100644
--- a/crypto/trace.c
+++ b/crypto/trace.c
@@ -146,9 +146,19 @@ const char *OSSL_trace_get_category_name(int num)
{
size_t i;
+ /*
+ * Partial check that OSSL_TRACE_CATEGORY_... macros
+ * are synced with trace_categories array
+ */
+#ifndef OPENSSL_NO_ENGINE
+ if (!ossl_assert(OSSL_TRACE_CATEGORY_NUM == OSSL_NELEM(trace_categories)))
+ return NULL;
+#endif
+
for (i = 0; i < OSSL_NELEM(trace_categories); i++)
if (trace_categories[i].num == num)
return trace_categories[i].name;
+
return NULL; /* not found */
}
@@ -156,9 +166,13 @@ int OSSL_trace_get_category_num(const char *name)
{
size_t i;
+ if (name == NULL)
+ return -1;
+
for (i = 0; i < OSSL_NELEM(trace_categories); i++)
if (OPENSSL_strcasecmp(name, trace_categories[i].name) == 0)
return trace_categories[i].num;
+
return -1; /* not found */
}