From: Timo Sirainen Date: Thu, 27 Jun 2013 17:37:46 +0000 (+0300) Subject: lib-http: Don't crash if payload stream is referenced by caller after its connection... X-Git-Tag: 2.2.5~87 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=270f75edb88360c5d76d51516bf9b9c89c38e718;p=thirdparty%2Fdovecot%2Fcore.git lib-http: Don't crash if payload stream is referenced by caller after its connection is freed. --- diff --git a/src/lib-http/http-client-connection.c b/src/lib-http/http-client-connection.c index e932e87ec9..3bb82c9150 100644 --- a/src/lib-http/http-client-connection.c +++ b/src/lib-http/http-client-connection.c @@ -896,6 +896,12 @@ void http_client_connection_unref(struct http_client_connection **_conn) conn->closing = TRUE; conn->connected = FALSE; + if (conn->incoming_payload != NULL) { + /* the stream is still accessed by lib-http caller. */ + i_stream_remove_destroy_callback(conn->incoming_payload, + http_client_payload_destroyed); + } + connection_disconnect(&conn->conn); /* abort all pending requests */