Blame SOURCES/0021-clang-Garbage-value-possible.patch

d4b2f2
From bfe2b956c1a9f83bd3d998924788942716767a65 Mon Sep 17 00:00:00 2001
d4b2f2
From: Rob Crittenden <rcritten@redhat.com>
d4b2f2
Date: Mon, 8 Oct 2018 14:44:05 -0400
d4b2f2
Subject: [PATCH 21/26] clang: Garbage value possible
d4b2f2
d4b2f2
Need to add guard so that error was only considered if the
d4b2f2
certificate was decodable and an import was attempted.
d4b2f2
---
d4b2f2
 src/certsave-n.c | 4 +++-
d4b2f2
 1 file changed, 3 insertions(+), 1 deletion(-)
d4b2f2
d4b2f2
diff --git a/src/certsave-n.c b/src/certsave-n.c
d4b2f2
index 972a1dfa..30e242c1 100644
d4b2f2
--- a/src/certsave-n.c
d4b2f2
+++ b/src/certsave-n.c
d4b2f2
@@ -498,6 +498,7 @@ cm_certsave_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
d4b2f2
 					}
d4b2f2
 				}
d4b2f2
 				/* Import the certificate. */
d4b2f2
+				error = SECFailure;
d4b2f2
 				newcert = CERT_DecodeCertFromPackage((char *)item->data, item->len);
d4b2f2
 				if (newcert != NULL) {
d4b2f2
 					error = PK11_ImportCert(sle->slot,
d4b2f2
@@ -506,7 +507,7 @@ cm_certsave_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
d4b2f2
 						entry->cm_cert_nickname,
d4b2f2
 						PR_FALSE);
d4b2f2
 				}
d4b2f2
-				if (error == SECSuccess) {
d4b2f2
+				if ((newcert != NULL) && (error == SECSuccess)) {
d4b2f2
 					cm_log(1, "Imported certificate with "
d4b2f2
 					       "nickname \"%s\".\n",
d4b2f2
 					       entry->cm_cert_nickname);
d4b2f2
@@ -581,6 +582,7 @@ cm_certsave_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
d4b2f2
 						CERT_DestroyCertList(certlist);
d4b2f2
 					}
d4b2f2
 				} else {
d4b2f2
+					ec = PORT_GetError();
d4b2f2
 					if (ec != 0) {
d4b2f2
 						es = PR_ErrorToName(ec);
d4b2f2
 					} else {
d4b2f2
-- 
d4b2f2
2.14.4
d4b2f2