diff --git a/controldata.c b/controldata.c index 37b5fde4..4f61cbac 100644 --- a/controldata.c +++ b/controldata.c @@ -301,6 +301,8 @@ get_controlfile(const char *DataDir) ControlFilePath); log_detail("%s", strerror(errno)); + close(fd); + return control_file_info; } diff --git a/dirutil.c b/dirutil.c index 218522c8..356c1a55 100644 --- a/dirutil.c +++ b/dirutil.c @@ -276,6 +276,8 @@ is_pg_running(const char *path) log_warning(_("invalid data in PostgreSQL PID file \"%s\""), path); } + fclose(pidf); + return PG_DIR_NOT_RUNNING; } diff --git a/repmgr-action-node.c b/repmgr-action-node.c index c02691ef..444ffd9e 100644 --- a/repmgr-action-node.c +++ b/repmgr-action-node.c @@ -2476,6 +2476,8 @@ do_node_rejoin(void) termPQExpBuffer(&slotdir_ent_path); } + + closedir(slotdir); } termPQExpBuffer(&slotdir_path); } diff --git a/repmgr-action-standby.c b/repmgr-action-standby.c index 2145b6aa..f8c73c11 100644 --- a/repmgr-action-standby.c +++ b/repmgr-action-standby.c @@ -6440,6 +6440,8 @@ run_file_backup(t_node_info *node_record) if (fputs(tablespace_map.data, tablespace_map_file) == EOF) { + fclose(tablespace_map_file); + log_error(_("unable to write to tablespace_map file \"%s\""), tablespace_map_filename.data); r = ERR_BAD_BASEBACKUP;