mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 06:41:32 +02:00
BUG/MEDIUM: stconn: Reset SE descriptor when we fail to create a stream
If stream_new() fails after the frontend SC is attached, the underlying SE descriptor is not properly reset. Among other things, SE_FL_ORPHAN flag is not set again. Because of this error, a BUG_ON() is triggered when the mux stream on the frontend side is destroyed. Thus, now, when stream_new() fails, SE_FL_ORPHAN flag is set on the SE descriptor and its stream-connector is set to NULL. This patch should solve the issue #1880. It must be backported to 2.6.
This commit is contained in:
parent
4cfc038cb1
commit
3ab72c66a0
@ -170,7 +170,9 @@ struct stconn *sc_new_from_endp(struct sedesc *sd, struct session *sess, struct
|
||||
return NULL;
|
||||
if (unlikely(!stream_new(sess, sc, input))) {
|
||||
pool_free(pool_head_connstream, sc);
|
||||
sc = NULL;
|
||||
sd->sc = NULL;
|
||||
se_fl_set(sd, SE_FL_ORPHAN);
|
||||
return NULL;
|
||||
}
|
||||
se_fl_clr(sd, SE_FL_ORPHAN);
|
||||
return sc;
|
||||
|
Loading…
x
Reference in New Issue
Block a user