From: Timo Sirainen Date: Sat, 25 Apr 2015 08:52:02 +0000 (+0300) Subject: lib: Fixed crash in connection API if input streams aren't used (only input fd). X-Git-Tag: 2.2.17.rc1~137 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b78d8dbe4179aabcbf9fda41d282673558dae4d6;p=thirdparty%2Fdovecot%2Fcore.git lib: Fixed crash in connection API if input streams aren't used (only input fd). --- diff --git a/src/lib/connection.c b/src/lib/connection.c index 72df867717..d8b90992e8 100644 --- a/src/lib/connection.c +++ b/src/lib/connection.c @@ -117,6 +117,9 @@ static void connection_init_streams(struct connection *conn) conn->input = i_stream_create_fd(conn->fd_in, set->input_max_size, FALSE); i_stream_set_name(conn->input, conn->name); + conn->io = io_add_istream(conn->input, *conn->list->v.input, conn); + } else { + conn->io = io_add(conn->fd_in, IO_READ, *conn->list->v.input, conn); } if (set->output_max_size != 0) { conn->output = o_stream_create_fd(conn->fd_out, @@ -124,7 +127,6 @@ static void connection_init_streams(struct connection *conn) o_stream_set_no_error_handling(conn->output, TRUE); o_stream_set_name(conn->output, conn->name); } - conn->io = io_add_istream(conn->input, *conn->list->v.input, conn); if (set->input_idle_timeout_secs != 0) { conn->to = timeout_add(set->input_idle_timeout_secs*1000, connection_idle_timeout, conn);