]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: Don't crash if payload stream is referenced by caller after its connection...
authorTimo Sirainen <tss@iki.fi>
Thu, 27 Jun 2013 17:37:46 +0000 (20:37 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 27 Jun 2013 17:37:46 +0000 (20:37 +0300)
src/lib-http/http-client-connection.c

index e932e87ec9110a8a36d1483076219b62f1fed01c..3bb82c9150bd29043af3d02e018a0f40fe0d1e24 100644 (file)
@@ -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 */