]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MAJOR: stream: avoid double free on unique_id
authorWilly Tarreau <w@1wt.eu>
Sun, 10 Feb 2019 17:49:37 +0000 (18:49 +0100)
committerWilly Tarreau <w@1wt.eu>
Sun, 10 Feb 2019 17:49:37 +0000 (18:49 +0100)
Commit 32211a1 ("BUG/MEDIUM: stream: Don't forget to free
s->unique_id in stream_free().") addressed a memory leak but in
exchange may cause double-free due to the fact that after freeing
s->unique_id it doesn't null it and then calls http_end_txn()
which frees it again. Thus the process quickly crashes at runtime.

This fix must be backported to all stable branches where the
aforementioned patch was backported.

src/stream.c

index a96ddcb866dd5e313263d4e8475d10ac0c6fcae5..df778b156b6bed423f2413cfee33a891cefac98c 100644 (file)
@@ -387,6 +387,7 @@ static void stream_free(struct stream *s)
        }
 
        pool_free(pool_head_uniqueid, s->unique_id);
+       s->unique_id = NULL;
 
        hlua_ctx_destroy(s->hlua);
        s->hlua = NULL;