From 6a85992b3441d128fa01f17170a011ffe2b018d4 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 19 Oct 2018 13:33:37 -0600 Subject: [PATCH] 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. --- src/sesh.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) 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; -- 2.40.0