]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tty-ask-password: fix dead code path
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 21 Oct 2019 18:52:18 +0000 (20:52 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 21 Oct 2019 19:12:42 +0000 (21:12 +0200)
Coverity was complaining that watch==1 always at this point.
CID #1405882.

Use structured initialization while at it.

src/tty-ask-password-agent/tty-ask-password-agent.c

index 2e57a628b211e769b269419315400b9698f92a9f..068988e2033de540812a9946af55cee935918197 100644 (file)
@@ -337,7 +337,7 @@ static int process_and_watch_password_files(bool watch) {
         };
 
         _cleanup_close_ int notify = -1, signal_fd = -1, tty_block_fd = -1;
-        struct pollfd pollfd[_FD_MAX] = {};
+        struct pollfd pollfd[_FD_MAX];
         sigset_t mask;
         int r;
 
@@ -354,8 +354,7 @@ static int process_and_watch_password_files(bool watch) {
                 if (signal_fd < 0)
                         return log_error_errno(errno, "Failed to allocate signal file descriptor: %m");
 
-                pollfd[FD_SIGNAL].fd = signal_fd;
-                pollfd[FD_SIGNAL].events = POLLIN;
+                pollfd[FD_SIGNAL] = (struct pollfd) { .fd = signal_fd, .events = POLLIN };
 
                 notify = inotify_init1(IN_CLOEXEC);
                 if (notify < 0)
@@ -365,8 +364,7 @@ static int process_and_watch_password_files(bool watch) {
                 if (r < 0)
                         return r;
 
-                pollfd[FD_INOTIFY].fd = notify;
-                pollfd[FD_INOTIFY].events = POLLIN;
+                pollfd[FD_INOTIFY] = (struct pollfd) { .fd = notify, .events = POLLIN };
         }
 
         for (;;) {
@@ -389,7 +387,7 @@ static int process_and_watch_password_files(bool watch) {
                 if (!watch)
                         break;
 
-                if (poll(pollfd, watch ? _FD_MAX : _FD_MAX-1, timeout) < 0) {
+                if (poll(pollfd, _FD_MAX, timeout) < 0) {
                         if (errno == EINTR)
                                 continue;