summaryrefslogtreecommitdiff
path: root/daemons
diff options
context:
space:
mode:
authorDavid Teigland <teigland@redhat.com>2023-03-08 11:11:32 -0600
committerDavid Teigland <teigland@redhat.com>2023-03-08 11:11:32 -0600
commitda44f2b6fe1e0edbd3ee875c831f3e467f242bc0 (patch)
tree8aadd6322c773f51883d67e0fb6a8f39f7bef7d7 /daemons
parentcd14d3fcc0e03136d0cea1ab1a9edff3b8b9dbeb (diff)
downloadlvm2-da44f2b6fe1e0edbd3ee875c831f3e467f242bc0.tar.gz
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.
Diffstat (limited to 'daemons')
-rw-r--r--daemons/lvmlockd/lvmlockd-dlm.c24
1 files 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))