]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
liblib: connection_disconnect() didn't close fd_out if it was different from fd_in.
authorTimo Sirainen <tss@iki.fi>
Wed, 17 Jul 2013 07:23:21 +0000 (10:23 +0300)
committerTimo Sirainen <tss@iki.fi>
Wed, 17 Jul 2013 07:23:21 +0000 (10:23 +0300)
src/lib/connection.c

index a054219a822d7059b9caf9adabb7dc9d7c4510b6..88209ca1cda1a5a83e50ce7d9904693ab6d16a66 100644 (file)
@@ -254,7 +254,7 @@ void connection_disconnect(struct connection *conn)
        if (conn->fd_in != -1) {
                if (close(conn->fd_in) < 0)
                        i_error("close(%s) failed: %m", conn->name);
-               if (conn->fd_in != conn->fd_out)
+               if (conn->fd_in != conn->fd_out && close(conn->fd_out) < 0)
                        i_error("close(%s/out) failed: %m", conn->name);
                conn->fd_in = conn->fd_out = -1;
        }