diff --git a/reg-tests/lua/b00003.vtc b/reg-tests/lua/b00003.vtc index 3f06b90a34..a1731b0f2c 100644 --- a/reg-tests/lua/b00003.vtc +++ b/reg-tests/lua/b00003.vtc @@ -19,7 +19,7 @@ feature ignore_unknown_macro syslog Slog -level info -repeat 100 { recv info - expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Ta=[0-9]* Tc=[0-9]* Td=-1 Th=[0-9]* Ti=[0-9]* Tq=[0-9]* TR=[0-9] Tr=-1 Tt=[0-9]* Tw=[0-9]*" + expect ~ "[^:\\[ ]\\[${h1_pid}\\]: Ta=[0-9]* Tc=[0-9]* Td=[0-9]* Th=[0-9]* Ti=[0-9]* Tq=[0-9]* TR=[0-9] Tr=[0-9]* Tt=[0-9]* Tw=[0-9]*" } -start haproxy h1 -conf { diff --git a/src/hlua.c b/src/hlua.c index 79b486da8e..6efabeea1e 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -4233,6 +4233,7 @@ __LJMP static int hlua_applet_htx_getline_yield(lua_State *L, int status, lua_KC htx = htx_from_buf(&req->buf); count = co_data(req); blk = htx_get_head_blk(htx); + while (count && !stop && blk) { enum htx_blk_type type = htx_get_blk_type(blk); uint32_t sz = htx_get_blksz(blk); @@ -7544,6 +7545,8 @@ static void hlua_applet_http_fct(struct appctx *ctx) } if (ctx->ctx.hlua_apphttp.flags & APPLET_DONE) { + if (!(ctx->ctx.hlua_apphttp.flags & APPLET_HDR_SENT)) + goto error; /* We must send the final chunk. */ if (ctx->ctx.hlua_apphttp.flags & APPLET_CHUNKED &&