]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-master: Properly fixed accepting FIFO connections with BSDI.
authorTimo Sirainen <tss@iki.fi>
Fri, 15 Oct 2010 15:16:23 +0000 (16:16 +0100)
committerTimo Sirainen <tss@iki.fi>
Fri, 15 Oct 2010 15:16:23 +0000 (16:16 +0100)
src/lib-master/master-service.c

index 54d1d38686b53c58883f5f06c8fe3ac8d7b95e83..b0d5d084b11a825f53d325e11a08b732053d0988 100644 (file)
@@ -718,7 +718,7 @@ static void master_service_listen(struct master_service_listener *l)
                if (errno == ENOTSOCK) {
                        /* it's not a socket. should be a fifo. */
                } else if (errno == EINVAL &&
-                          (fstat(l->fd, &st) < 0 || !S_ISFIFO(st.st_mode))) {
+                          (fstat(l->fd, &st) == 0 && S_ISFIFO(st.st_mode))) {
                        /* BSDI fails accept(fifo) with EINVAL. */
                } else {
                        errno = orig_errno;