BUG/MAJOR: mux_pt: don't dereference a connstream after ->wake()

The wake() callback may destroy a connstream, so it must not be
dereferenced in case wake() returns negative. No backport needed,
this is 1.8-only.
This commit is contained in:
Willy Tarreau 2017-11-03 15:55:24 +01:00
parent 7567c4002f
commit ed339a375c

View File

@ -51,8 +51,9 @@ static int mux_pt_wake(struct connection *conn)
ret = cs->data_cb->wake ? cs->data_cb->wake(cs) : 0;
cs_update_mux_polling(cs);
return (ret);
if (ret >= 0)
cs_update_mux_polling(cs);
return ret;
}
/* callback used to update the mux's polling flags after changing a cs' status.