1a76fd
From 6de09f82e86db0500a59017a473c944877a80516 Mon Sep 17 00:00:00 2001
1a76fd
From: Chris Leech <cleech@redhat.com>
1a76fd
Date: Wed, 5 Jun 2019 09:08:39 -0700
1a76fd
Subject: [PATCH 1/1] Coverity scan fixes
1a76fd
1a76fd
---
1a76fd
 iscsiuio/src/unix/libs/qedi.c |  2 +-
1a76fd
 iscsiuio/src/unix/main.c      |  3 +++
1a76fd
 libopeniscsiusr/idbm.c        | 11 +++++------
1a76fd
 usr/idbm.c                    | 10 ++++------
1a76fd
 usr/iscsid.c                  |  2 +-
1a76fd
 5 files changed, 14 insertions(+), 14 deletions(-)
1a76fd
1a76fd
diff --git a/iscsiuio/src/unix/libs/qedi.c b/iscsiuio/src/unix/libs/qedi.c
1a76fd
index 1af8d1b..9a814c6 100644
1a76fd
--- a/iscsiuio/src/unix/libs/qedi.c
1a76fd
+++ b/iscsiuio/src/unix/libs/qedi.c
1a76fd
@@ -1030,7 +1030,7 @@ static int qedi_read(nic_t *nic, packet_t *pkt)
1a76fd
 
1a76fd
 	LOG_DEBUG(PFX "%s:hw_prod %d bd_prod %d, rx_pkt_idx %d, rxlen %d",
1a76fd
 		  nic->log_name, hw_prod, bd_prod, rx_bd->rx_pkt_index, len);
1a76fd
-	LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %d",
1a76fd
+	LOG_DEBUG(PFX "%s: sw_con %d bd_cons %d num BD %lu",
1a76fd
 		  nic->log_name, sw_cons, bd_cons, QEDI_NUM_RX_BD);
1a76fd
 
1a76fd
 	if (bd_cons != bd_prod) {
1a76fd
diff --git a/iscsiuio/src/unix/main.c b/iscsiuio/src/unix/main.c
1a76fd
index 0c9ad49..f83f305 100644
1a76fd
--- a/iscsiuio/src/unix/main.c
1a76fd
+++ b/iscsiuio/src/unix/main.c
1a76fd
@@ -391,6 +391,9 @@ int main(int argc, char *argv[])
1a76fd
 	sigaddset(&set, SIGTERM);
1a76fd
 	sigaddset(&set, SIGUSR1);
1a76fd
 	rc = pthread_sigmask(SIG_SETMASK, &set, NULL);
1a76fd
+	if (rc != 0) {
1a76fd
+		LOG_ERR("Failed to set thread signal mask");
1a76fd
+	}
1a76fd
 
1a76fd
 	/*  Spin off the signal handling thread */
1a76fd
 	pthread_attr_init(&attr);
1a76fd
diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c
1a76fd
index 0910c63..6213e62 100644
1a76fd
--- a/libopeniscsiusr/idbm.c
1a76fd
+++ b/libopeniscsiusr/idbm.c
1a76fd
@@ -321,12 +321,11 @@ int _idbm_lock(struct iscsi_context *ctx)
1a76fd
 		return 0;
1a76fd
 	}
1a76fd
 
1a76fd
-	if (access(LOCK_DIR, F_OK) != 0) {
1a76fd
-		if (mkdir(LOCK_DIR, 0770) != 0) {
1a76fd
-			_error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
1a76fd
-				_strerror(errno, strerr_buff));
1a76fd
-			return LIBISCSI_ERR_IDBM;
1a76fd
-		}
1a76fd
+	if (((mkdir(LOCK_DIR, 0770) != 0) && (errno != EEXIST)) ||
1a76fd
+	    (access(LOCK_DIR, F_OK) != 0)) {
1a76fd
+		_error(ctx, "Could not open %s: %d %s", LOCK_DIR, errno,
1a76fd
+			_strerror(errno, strerr_buff));
1a76fd
+		return LIBISCSI_ERR_IDBM;
1a76fd
 	}
1a76fd
 
1a76fd
 	fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
1a76fd
diff --git a/usr/idbm.c b/usr/idbm.c
1a76fd
index b33ae42..1ac0b73 100644
1a76fd
--- a/usr/idbm.c
1a76fd
+++ b/usr/idbm.c
1a76fd
@@ -1461,12 +1461,10 @@ int idbm_lock(void)
1a76fd
 		return 0;
1a76fd
 	}
1a76fd
 
1a76fd
-	if (access(LOCK_DIR, F_OK) != 0) {
1a76fd
-		if (mkdir(LOCK_DIR, 0770) != 0) {
1a76fd
-			log_error("Could not open %s: %s", LOCK_DIR,
1a76fd
-				  strerror(errno));
1a76fd
-			return ISCSI_ERR_IDBM;
1a76fd
-		}
1a76fd
+	if (((mkdir(LOCK_DIR, 0770) != 0) && (errno != EEXIST)) ||
1a76fd
+	    (access(LOCK_DIR, F_OK) != 0)) {
1a76fd
+		log_error("Could not open %s: %s", LOCK_DIR, strerror(errno));
1a76fd
+		return ISCSI_ERR_IDBM;
1a76fd
 	}
1a76fd
 
1a76fd
 	fd = open(LOCK_FILE, O_RDWR | O_CREAT, 0666);
1a76fd
diff --git a/usr/iscsid.c b/usr/iscsid.c
1a76fd
index dc54fec..fde8894 100644
1a76fd
--- a/usr/iscsid.c
1a76fd
+++ b/usr/iscsid.c
1a76fd
@@ -510,8 +510,8 @@ int main(int argc, char *argv[])
1a76fd
 				log_close(log_pid);
1a76fd
 				exit(ISCSI_ERR);
1a76fd
 			}
1a76fd
+			close(fd);
1a76fd
 		}
1a76fd
-		close(fd);
1a76fd
 
1a76fd
 		if ((control_fd = ipc->ctldev_open()) < 0) {
1a76fd
 			log_close(log_pid);
1a76fd
-- 
1a76fd
2.26.3
1a76fd