BUG/MEDIUM: h2: Don't destroy the h2s if it still has a cs attached.

In h2_deferred_shut, if we're done sending the shutr/shutw, don't destroy
the h2s if it still has a conn_stream attached, or the conn_stream may try
to access it again.
This commit is contained in:
Olivier Houchard 2018-12-16 01:29:11 +01:00 committed by Willy Tarreau
parent bce4d8a37d
commit ffda58b546

View File

@ -3016,7 +3016,7 @@ static struct task *h2_deferred_shut(struct task *t, void *ctx, unsigned short s
h2_do_shutr(h2s);
if (h2s->st == H2_SS_CLOSED &&
!((h2s->flags & (H2_SF_BLK_MBUSY | H2_SF_BLK_MROOM | H2_SF_BLK_MFCTL))))
!((h2s->flags & (H2_SF_BLK_MBUSY | H2_SF_BLK_MROOM | H2_SF_BLK_MFCTL))) && !h2s->cs)
h2s_destroy(h2s);
return NULL;
}