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:
30
src/sesh.c
30
src/sesh.c
@@ -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;
|
||||||
|
Reference in New Issue
Block a user