From: Timo Sirainen Date: Mon, 28 Sep 2015 10:53:22 +0000 (+0300) Subject: lib-http: Avoid crashes when server is already disconnected. X-Git-Tag: 2.2.19.rc2~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=76beac266ef81cf885fac676d6005b641f546a04;p=thirdparty%2Fdovecot%2Fcore.git lib-http: Avoid crashes when server is already disconnected. I'm not sure if this is the nicest fix, but seems to work for now at least. --- diff --git a/src/lib-http/http-client-connection.c b/src/lib-http/http-client-connection.c index 28d134d5d8..450ddc6f79 100644 --- a/src/lib-http/http-client-connection.c +++ b/src/lib-http/http-client-connection.c @@ -551,7 +551,7 @@ http_client_connection_return_response(struct http_client_connection *conn, /* request is dereferenced in payload destroy callback */ i_stream_unref(&payload); - if (conn->to_input != NULL) { + if (conn->to_input != NULL && conn->conn.input != NULL) { /* already finished reading the payload */ http_client_payload_finished(conn); } @@ -561,7 +561,7 @@ http_client_connection_return_response(struct http_client_connection *conn, http_client_request_unref(&req); } - if (conn->incoming_payload == NULL) { + if (conn->incoming_payload == NULL && conn->conn.input != NULL) { i_assert(conn->conn.io != NULL || conn->peer->addr.type == HTTP_CLIENT_PEER_ADDR_RAW); ret = TRUE;