]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MEDIUM: stream: Don't forget to free s->unique_id in stream_free().
authorOlivier Houchard <ohouchard@haproxy.com>
Fri, 1 Feb 2019 17:10:46 +0000 (18:10 +0100)
committerWilly Tarreau <w@1wt.eu>
Fri, 1 Feb 2019 17:17:36 +0000 (18:17 +0100)
In stream_free(), free s->unique_id. We may still have one, because it's
allocated in log.c::strm_log() no matter what, even if it's a TCP connection
and thus it won't get free'd by http_end_txn().
Failure to do so leads to a memory leak.

This should probably be backported to all maintained branches.

src/stream.c

index 939c4dbc21aeef7201d90cf5c9f587ff4ad18dea..a96ddcb866dd5e313263d4e8475d10ac0c6fcae5 100644 (file)
@@ -386,6 +386,8 @@ static void stream_free(struct stream *s)
                offer_buffers(NULL, tasks_run_queue);
        }
 
+       pool_free(pool_head_uniqueid, s->unique_id);
+
        hlua_ctx_destroy(s->hlua);
        s->hlua = NULL;
        if (s->txn)