From 10ec214f41385b231a0c4c529b7b555caf5280bb Mon Sep 17 00:00:00 2001 From: Thierry FOURNIER Date: Mon, 24 Aug 2015 17:23:45 +0200 Subject: [PATCH] BUG/MEDIUM: lua: the lua fucntion Channel:close() causes a segfault The function dont remove remaineing analysers and dont update response channel timeout. The fix is a copy of the behavior of the functions http_apply_redirect_rule() and stream_int_retnclose(). --- src/hlua.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/hlua.c b/src/hlua.c index abfb2b574..84aee6330 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -3621,13 +3621,17 @@ __LJMP static int hlua_txn_close(lua_State *L) ic = &htxn->s->req; oc = &htxn->s->res; + channel_auto_read(ic); channel_abort(ic); channel_auto_close(ic); channel_erase(ic); + + oc->wex = tick_add_ifset(now_ms, oc->wto); channel_auto_read(oc); channel_auto_close(oc); channel_shutr_now(oc); + htxn->s->txn->req.chn->analysers = 0; return 0; }