main - lvmlockd: clean up get_local_nodeid

David Teigland <[email protected]>
Newsgroups gmane.linux.lvm.devel
Message-ID <[email protected]>
Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=da44f2b6fe1e0edbd3ee875c831f3e467f242bc0
Commit:        da44f2b6fe1e0edbd3ee875c831f3e467f242bc0
Parent:        cd14d3fcc0e03136d0cea1ab1a9edff3b8b9dbeb
Author:        David Teigland <[email protected]>
AuthorDate:    Wed Mar 8 11:11:32 2023 -0600
Committer:     David Teigland <[email protected]>
CommitterDate: Wed Mar 8 11:11:32 2023 -0600

lvmlockd: clean up get_local_nodeid

Hard to see if fclose calls were correct, and coverity couldn't figure
it out either, so make it clear.
---
 daemons/lvmlockd/lvmlockd-dlm.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/daemons/lvmlockd/lvmlockd-dlm.c b/daemons/lvmlockd/lvmlockd-dlm.c
index 248081d0e..ce9d9acf2 100644
--- a/daemons/lvmlockd/lvmlockd-dlm.c
+++ b/daemons/lvmlockd/lvmlockd-dlm.c
@@ -227,8 +227,9 @@ static int get_local_nodeid(void)
 	struct dirent *de;
 	DIR *ls_dir;
 	char ls_comms_path[PATH_MAX];
-	FILE *file = NULL;
+	FILE *file;
 	char line[LOCK_LINE_MAX];
+	char *str1, *str2;
 	int rv = -1, val;
 
 	memset(ls_comms_path, 0, sizeof(ls_comms_path));
@@ -243,30 +244,33 @@ static int get_local_nodeid(void)
 		memset(ls_comms_path, 0, sizeof(ls_comms_path));
 		snprintf(ls_comms_path, PATH_MAX, "%s/%s/local",
 		     DLM_COMMS_PATH, de->d_name);
-		file = fopen(ls_comms_path, "r");
-		if (!file)
+
+		if (!(file = fopen(ls_comms_path, "r")))
 			continue;
-		if (fgets(line, LOCK_LINE_MAX, file)) {
-			fclose(file);
+		str1 = fgets(line, LOCK_LINE_MAX, file);
+		fclose(file);
+
+		if (str1) {
 			rv = sscanf(line, "%d", &val);
 			if ((rv == 1) && (val == 1 )) {
 				memset(ls_comms_path, 0, sizeof(ls_comms_path));
 				snprintf(ls_comms_path, PATH_MAX, "%s/%s/nodeid",
 				    DLM_COMMS_PATH, de->d_name);
-				file = fopen(ls_comms_path, "r");
-				if (!file)
+
+				if (!(file = fopen(ls_comms_path, "r")))
 					continue;
-				if (fgets(line, LOCK_LINE_MAX, file)) {
+				str2 = fgets(line, LOCK_LINE_MAX, file);
+				fclose(file);
+
+				if (str2) {
 					rv = sscanf(line, "%d", &val);
 					if (rv == 1) {
-						fclose(file);
 						closedir(ls_dir);
 						return val;
 					}
 				}
 			}
 		}
-		fclose(file);
 	}
 
 	if (closedir(ls_dir))

--
lvm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/lvm-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.