BUG/MINOR: mux-h1: Always initilize h1m variable in h1_process_input()

It is used at the end of the function to know if the end of the message was
reached. So we must be sure to always initialize it.

This patch must be backported to 1.9.
This commit is contained in:
Christopher Faulet 2019-02-26 14:45:05 +01:00
parent f0dd037456
commit 7402776c52

View File

@ -1323,11 +1323,6 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, int flags)
int errflag;
htx = htx_from_buf(buf);
data = htx->data;
count = b_data(&h1c->ibuf);
if (!count)
goto end;
rsv = ((flags & CO_RFL_KEEP_RSV) ? global.tune.maxrewrite : 0);
if (!conn_is_back(h1c->conn)) {
h1m = &h1s->req;
@ -1338,6 +1333,12 @@ static size_t h1_process_input(struct h1c *h1c, struct buffer *buf, int flags)
errflag = H1S_F_RES_ERROR;
}
data = htx->data;
count = b_data(&h1c->ibuf);
if (!count)
goto end;
rsv = ((flags & CO_RFL_KEEP_RSV) ? global.tune.maxrewrite : 0);
do {
if (h1m->state <= H1_MSG_LAST_LF) {
ret = h1_process_headers(h1s, h1m, htx, &h1c->ibuf, &total, count);