From: Todd C. Miller Date: Fri, 19 Oct 2018 19:33:37 +0000 (-0600) Subject: No need to check if fd_dst is -1 in sudoedit mode. X-Git-Tag: SUDO_1_8_26^2~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a85992b3441d128fa01f17170a011ffe2b018d4;p=sudo 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. --- diff --git a/src/sesh.c b/src/sesh.c index c994fea4a..9bbd062ee 100644 --- a/src/sesh.c +++ b/src/sesh.c @@ -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;