summaryrefslogtreecommitdiff
path: root/ssl/ssl_lib.c
diff options
context:
space:
mode:
authorFdaSilvaYY <fdasilvayy@gmail.com>2024-08-01 22:51:25 +0200
committerTomas Mraz <tomas@openssl.org>2024-08-07 19:25:10 +0200
commitf21ededc3c04a5c899ee8522f7162abf637849a1 (patch)
treefdc5be70e7a8504547d04d773252cbaecbadb12b /ssl/ssl_lib.c
parentca3c6f38292ab1326af9fa414cfa8de4e30a4e82 (diff)
ssl: factorize and improved hex conversion code
Add inline qualifier to avoid exporting a function for one unique use Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24968)
Diffstat (limited to 'ssl/ssl_lib.c')
-rw-r--r--ssl/ssl_lib.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index 96ec86a00a..ba9fcec55c 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -26,6 +26,7 @@
#include "internal/nelem.h"
#include "internal/refcount.h"
#include "internal/ktls.h"
+#include "internal/to_hex.h"
#include "quic/quic_local.h"
static int ssl_undefined_function_3(SSL_CONNECTION *sc, unsigned char *r,
@@ -6747,10 +6748,8 @@ static int nss_keylog_int(const char *prefix,
const uint8_t *parameter_2,
size_t parameter_2_len)
{
- static const char hexdig[] = "0123456789abcdef";
char *out = NULL;
char *cursor = NULL;
- const uint8_t *p;
size_t out_len = 0, i, prefix_len;
SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(sc);
@@ -6774,16 +6773,12 @@ static int nss_keylog_int(const char *prefix,
cursor += prefix_len;
*cursor++ = ' ';
- for (i = 0, p = parameter_1; i < parameter_1_len; i++, ++p) {
- *cursor++ = hexdig[(*p >> 4) & 0xf];
- *cursor++ = hexdig[*p & 0xf];
- }
+ for (i = 0; i < parameter_1_len; ++i)
+ cursor += ossl_to_lowerhex(cursor, parameter_1[i]);
*cursor++ = ' ';
- for (i = 0, p = parameter_2; i < parameter_2_len; i++, ++p) {
- *cursor++ = hexdig[(*p >> 4) & 0xf];
- *cursor++ = hexdig[*p & 0xf];
- }
+ for (i = 0; i < parameter_2_len; ++i)
+ cursor += ossl_to_lowerhex(cursor, parameter_2[i]);
*cursor = '\0';
sctx->keylog_callback(SSL_CONNECTION_GET_SSL(sc), (const char *)out);