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 (fd_src == -1 || fstat(fd_src, &sb) != 0)
memset(&sb, 0, sizeof(sb));
/* Make mtime on temp file match src. */
mtim_get(&sb, times[0]);
times[1].tv_sec = times[0].tv_sec;
times[1].tv_nsec = times[0].tv_nsec;
if (futimens(fd_dst, times) == -1) {
if (utimensat(AT_FDCWD, path_dst, times, 0) == -1)
sudo_warn("%s", path_dst);
}
if (!post) {
if (fd_src == -1 || fstat(fd_src, &sb) != 0)
memset(&sb, 0, sizeof(sb));
/* Make mtime on temp file match src. */
mtim_get(&sb, times[0]);
times[1].tv_sec = times[0].tv_sec;
times[1].tv_nsec = times[0].tv_nsec;
if (futimens(fd_dst, times) == -1) {
if (utimensat(AT_FDCWD, path_dst, times, 0) == -1)
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);
fd_dst = fd_src = -1;
fd_src = -1;
}
}
ret = SESH_SUCCESS;