* main - lvmlockd: clean up get_local_nodeid
@ 2023-03-08 17:13 David Teigland
0 siblings, 0 replies; only message in thread
From: David Teigland @ 2023-03-08 17:13 UTC (permalink / raw
To: lvm-devel
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=da44f2b6fe1e0edbd3ee875c831f3e467f242bc0
Commit: da44f2b6fe1e0edbd3ee875c831f3e467f242bc0
Parent: cd14d3fcc0e03136d0cea1ab1a9edff3b8b9dbeb
Author: David Teigland <teigland@redhat.com>
AuthorDate: Wed Mar 8 11:11:32 2023 -0600
Committer: David Teigland <teigland@redhat.com>
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))
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2023-03-08 17:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-08 17:13 main - lvmlockd: clean up get_local_nodeid David Teigland
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.