BUG/MEDIUM: h1: Don't try to subscribe if we had a connection error.

If the CO_FL_ERROR flag is set, and we weren't connected yet, don't attempt
to subscribe, as the underlying xprt may already have been destroyed.
This commit is contained in:
Olivier Houchard 2019-06-11 16:36:33 +02:00 committed by Olivier Houchard
parent b5ba2b0177
commit 92d093d641

View File

@ -1794,7 +1794,7 @@ static int h1_recv(struct h1c *h1c)
if (h1c->wait_event.events & SUB_RETRY_RECV) if (h1c->wait_event.events & SUB_RETRY_RECV)
return (b_data(&h1c->ibuf)); return (b_data(&h1c->ibuf));
if (h1c->flags & H1C_F_CS_WAIT_CONN) { if (!(conn->flags & CO_FL_ERROR) && h1c->flags & H1C_F_CS_WAIT_CONN) {
conn->xprt->subscribe(conn, conn->xprt_ctx, SUB_RETRY_RECV, &h1c->wait_event); conn->xprt->subscribe(conn, conn->xprt_ctx, SUB_RETRY_RECV, &h1c->wait_event);
return 0; return 0;
} }