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.
This commit is contained in:
Willy Tarreau 2023-03-20 19:11:08 +01:00
parent e25fce03eb
commit a45e7e81ec

View File

@ -582,8 +582,8 @@ struct stream *stream_new(struct session *sess, struct stconn *sc, struct buffer
out_fail_accept: out_fail_accept:
flt_stream_release(s, 0); flt_stream_release(s, 0);
LIST_DELETE(&s->list); LIST_DELETE(&s->list);
out_fail_alloc_scb:
sc_free(s->scb); sc_free(s->scb);
out_fail_alloc_scb:
out_fail_attach_scf: out_fail_attach_scf:
task_destroy(t); task_destroy(t);
out_fail_alloc: out_fail_alloc: