summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/kdf.c4
-rw-r--r--apps/openssl.c3
-rw-r--r--crypto/err/err_prn.c3
-rw-r--r--crypto/mem_dbg.c4
-rw-r--r--crypto/x509/v3_akey.c11
5 files changed, 20 insertions, 5 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);
diff --git a/crypto/err/err_prn.c b/crypto/err/err_prn.c
index 27e987e0e1..e0184b0771 100644
--- a/crypto/err/err_prn.c
+++ b/crypto/err/err_prn.c
@@ -36,7 +36,8 @@ void ERR_print_errors_cb(int (*cb) (const char *str, size_t len, void *u),
data = "";
hex = OPENSSL_buf2hexstr((const unsigned char *)&tid, sizeof(tid));
BIO_snprintf(buf, sizeof(buf), "%s:error:%s:%s:%s:%s:%d:%s\n",
- hex, lib, func, reason, file, line, data);
+ hex == NULL ? "<null>" : hex, lib, func, reason, file,
+ line, data);
OPENSSL_free(hex);
if (cb(buf, strlen(buf), u) <= 0)
break; /* abort outputting the error report */
diff --git a/crypto/mem_dbg.c b/crypto/mem_dbg.c
index 779ad3cec9..561dd80437 100644
--- a/crypto/mem_dbg.c
+++ b/crypto/mem_dbg.c
@@ -374,8 +374,8 @@ static void print_leak(const MEM *m, MEM_LEAK *l)
hex = OPENSSL_buf2hexstr((const unsigned char *)&m->threadid,
sizeof(m->threadid));
- n = BIO_snprintf(bufp, len, "thread=%s, number=%d, address=%p\n", hex,
- m->num, m->addr);
+ n = BIO_snprintf(bufp, len, "thread=%s, number=%d, address=%p\n",
+ hex == NULL ? "<null>" : hex, m->num, m->addr);
OPENSSL_free(hex);
if (n <= 0)
return;
diff --git a/crypto/x509/v3_akey.c b/crypto/x509/v3_akey.c
index b656b4b502..4898869b0b 100644
--- a/crypto/x509/v3_akey.c
+++ b/crypto/x509/v3_akey.c
@@ -42,13 +42,22 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
char *tmp;
if (akeyid->keyid) {
tmp = OPENSSL_buf2hexstr(akeyid->keyid->data, akeyid->keyid->length);
- X509V3_add_value((akeyid->issuer || akeyid->serial) ? "keyid" : NULL, tmp, &extlist);
+ if (tmp == NULL) {
+ ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
+ X509V3_add_value((akeyid->issuer || akeyid->serial) ? "keyid" : NULL,
+ tmp, &extlist);
OPENSSL_free(tmp);
}
if (akeyid->issuer)
extlist = i2v_GENERAL_NAMES(NULL, akeyid->issuer, extlist);
if (akeyid->serial) {
tmp = OPENSSL_buf2hexstr(akeyid->serial->data, akeyid->serial->length);
+ if (tmp == NULL) {
+ ERR_raise(ERR_LIB_X509V3, ERR_R_MALLOC_FAILURE);
+ return NULL;
+ }
X509V3_add_value("serial", tmp, &extlist);
OPENSSL_free(tmp);
}