From 2059d05b7aa35a02f23a3b5784d705ac1e8eadb9 Mon Sep 17 00:00:00 2001 From: Lealem Amedie Date: Fri, 19 Aug 2022 12:40:42 -0700 Subject: [PATCH] checking some ret values, fix trailing whitespace --- src/x509.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/x509.c b/src/x509.c index bd91c419b..dbf77a4f3 100644 --- a/src/x509.c +++ b/src/x509.c @@ -5534,7 +5534,7 @@ static int X509PrintSerial_ex(WOLFSSL_BIO* bio, byte* serial, int sz, for (i = 0; i < sz; i++) { if ((valLen = XSNPRINTF( scratch + scratchLen, scratchSz - scratchLen, - "%02x%s", serial[i], (i < sz - 1) ? + "%02x%s", serial[i], (i < sz - 1) ? (delimiter ? ":" : "") : "\n")) >= scratchSz - scratchLen) { @@ -5944,17 +5944,25 @@ static int X509PrintSignature_ex(WOLFSSL_BIO* bio, byte* sig, int sigSz, int sig if (obj != NULL) wolfSSL_ASN1_OBJECT_free(obj); - return ret; + return ret; } static int X509PrintSignature(WOLFSSL_BIO* bio, WOLFSSL_X509* x509, int algOnly, int indent) { int sigSz = 0; - wolfSSL_X509_get_signature(x509, NULL, &sigSz); + if (wolfSSL_X509_get_signature(x509, NULL, &sigSz) <= 0) { + return WOLFSSL_FAILURE; + } + if (sigSz > 0) { unsigned char* sig; - int sigNid = wolfSSL_X509_get_signature_nid(x509); + int sigNid; + + sigNid = wolfSSL_X509_get_signature_nid(x509); + if (sigNid <= 0) { + return WOLFSSL_FAILURE; + } sig = (unsigned char*)XMALLOC(sigSz, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (sig == NULL) {