From: Timo Sirainen Date: Wed, 29 Oct 2014 00:15:31 +0000 (-0700) Subject: lib-http: Make sure we don't access already freed client connection in payload-destro... X-Git-Tag: 2.2.16.rc1~266 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=83db24db79d5b0cd79ab60d20fcdaa585bbe048d;p=thirdparty%2Fdovecot%2Fcore.git lib-http: Make sure we don't access already freed client connection in payload-destroyed callback. --- diff --git a/src/lib-http/http-client-connection.c b/src/lib-http/http-client-connection.c index 304d3114ba..1175dee961 100644 --- a/src/lib-http/http-client-connection.c +++ b/src/lib-http/http-client-connection.c @@ -441,6 +441,7 @@ static void http_client_payload_destroyed(struct http_client_request *req) req->conn = NULL; conn->incoming_payload = NULL; conn->pending_request = NULL; + http_client_connection_ref(conn); http_client_request_finish(&req); /* room for new requests */ @@ -457,6 +458,7 @@ static void http_client_payload_destroyed(struct http_client_request *req) i_assert(req != NULL); http_client_request_unref(&req); + http_client_connection_unref(&conn); } static bool