No need to check if fd_dst is -1 in sudoedit mode.

Failure to open the destination sudoedit file is fatal so there's
no need to check that fd_dst != -1 later on.  Found by PVS-Studio.
This commit is contained in:
Todd C. Miller
2018-10-19 13:33:37 -06:00
parent 6786d53d45
commit 6a85992b34

View File

@@ -221,24 +221,24 @@ sesh_sudoedit(int argc, char *argv[])
} }
} }
if (fd_dst != -1) { if (!post) {
if (!post) { if (fd_src == -1 || fstat(fd_src, &sb) != 0)
if (fd_src == -1 || fstat(fd_src, &sb) != 0) memset(&sb, 0, sizeof(sb));
memset(&sb, 0, sizeof(sb)); /* Make mtime on temp file match src. */
/* Make mtime on temp file match src. */ mtim_get(&sb, times[0]);
mtim_get(&sb, times[0]); times[1].tv_sec = times[0].tv_sec;
times[1].tv_sec = times[0].tv_sec; times[1].tv_nsec = times[0].tv_nsec;
times[1].tv_nsec = times[0].tv_nsec; if (futimens(fd_dst, times) == -1) {
if (futimens(fd_dst, times) == -1) { if (utimensat(AT_FDCWD, path_dst, times, 0) == -1)
if (utimensat(AT_FDCWD, path_dst, times, 0) == -1) sudo_warn("%s", path_dst);
sudo_warn("%s", path_dst);
}
} }
close(fd_dst);
} }
if (fd_src != -1) close(fd_dst);
fd_dst = -1;
if (fd_src != -1) {
close(fd_src); close(fd_src);
fd_dst = fd_src = -1; fd_src = -1;
}
} }
ret = SESH_SUCCESS; ret = SESH_SUCCESS;