summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-11-26 17:15:20 +0000
committerMatt Caswell <matt@openssl.org>2019-11-29 14:21:55 +0000
commit17197a2f61d04314b465b71a4ce164b5e219f15c (patch)
treec29704c6ca5c958adb250a42581da3feabd9d3fb /apps
parentc1ff5994407bc093eca78eb2fd4f813b7ee581a2 (diff)
Check the return from OPENSSL_buf2hexstr()
The function OPENSSL_buf2hexstr() can return NULL if it fails to allocate memory so the callers should check its return value. Fixes #10525 Reported-by: Ziyang Li (@Liby99) Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com> (Merged from https://github.com/openssl/openssl/pull/10526)
Diffstat (limited to 'apps')
-rw-r--r--apps/kdf.c4
-rw-r--r--apps/openssl.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/apps/kdf.c b/apps/kdf.c
index 66e7e7a7c1..82818f1ff3 100644
--- a/apps/kdf.c
+++ b/apps/kdf.c
@@ -138,6 +138,10 @@ opthelp:
BIO_write(out, dkm_bytes, dkm_len);
} else {
hexout = OPENSSL_buf2hexstr(dkm_bytes, dkm_len);
+ if (hexout == NULL) {
+ BIO_printf(bio_err, "Memory allocation failure\n");
+ goto err;
+ }
BIO_printf(out, "%s\n\n", hexout);
}
diff --git a/apps/openssl.c b/apps/openssl.c
index 31f598815a..769555e5e1 100644
--- a/apps/openssl.c
+++ b/apps/openssl.c
@@ -113,7 +113,8 @@ static size_t internal_trace_cb(const char *buf, size_t cnt,
tid = CRYPTO_THREAD_get_current_id();
hex = OPENSSL_buf2hexstr((const unsigned char *)&tid, sizeof(tid));
BIO_snprintf(buffer, sizeof(buffer), "TRACE[%s]:%s: ",
- hex, OSSL_trace_get_category_name(category));
+ hex == NULL ? "<null>" : hex,
+ OSSL_trace_get_category_name(category));
OPENSSL_free(hex);
BIO_ctrl(trace_data->bio, PREFIX_CTRL_SET_PREFIX,
strlen(buffer), buffer);