From: Willy Tarreau Date: Mon, 20 Mar 2023 18:11:08 +0000 (+0100) Subject: BUG/MEDIUM: stream: do not try to free a failed stream-conn X-Git-Tag: v2.8-dev6~43 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a45e7e81ec54fd0562d8ab4776b4c05584d6d180;p=thirdparty%2Fhaproxy.git BUG/MEDIUM: stream: do not try to free a failed stream-conn In stream_free() if we fail to allocate s->scb() we go to the path where we try to free it, and it doesn't like being called with a null at all. It's easily reproducible with -dMfail,no-cache and "tune.fail-alloc 10" in the global section. This must be backported to 2.6. --- diff --git a/src/stream.c b/src/stream.c index b2428e4a74..d37cefab88 100644 --- a/src/stream.c +++ b/src/stream.c @@ -582,8 +582,8 @@ struct stream *stream_new(struct session *sess, struct stconn *sc, struct buffer out_fail_accept: flt_stream_release(s, 0); LIST_DELETE(&s->list); - out_fail_alloc_scb: sc_free(s->scb); + out_fail_alloc_scb: out_fail_attach_scf: task_destroy(t); out_fail_alloc: