changeset 16615:50117c22151e

liblib: connection_disconnect() didn't close fd_out if it was different from fd_in.
author Timo Sirainen <tss@iki.fi>
date Wed, 17 Jul 2013 10:23:21 +0300
parents ebbe00999da8
children d95ca476098c
files src/lib/connection.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/connection.c	Fri Jul 12 03:06:26 2013 +0300
+++ b/src/lib/connection.c	Wed Jul 17 10:23:21 2013 +0300
@@ -254,7 +254,7 @@
 	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;
 	}