mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-15 07:54:33 +00:00
BUG/MEDIUM: lua: bad memory access
We cannot perform garbage collection on unreferenced thread. This memory is now free and another Lua process can use it for other things. HAProxy is monothread, so this bug doesn't cause crash. This patch must be backported in 1.6 and 1.7
This commit is contained in:
parent
b13b20a19a
commit
7bd10d58d3
12
src/hlua.c
12
src/hlua.c
@ -901,16 +901,10 @@ void hlua_ctx_destroy(struct hlua *lua)
|
||||
* the garbage collection.
|
||||
*/
|
||||
if (lua->flags & HLUA_MUST_GC) {
|
||||
if (!SET_SAFE_LJMP(lua->T))
|
||||
if (!SET_SAFE_LJMP(gL.T))
|
||||
return;
|
||||
lua_gc(lua->T, LUA_GCCOLLECT, 0);
|
||||
RESET_SAFE_LJMP(lua->T);
|
||||
if (lua_status(lua->T) != LUA_OK) {
|
||||
if (!SET_SAFE_LJMP(gL.T))
|
||||
return;
|
||||
lua_gc(gL.T, LUA_GCCOLLECT, 0);
|
||||
RESET_SAFE_LJMP(gL.T);
|
||||
}
|
||||
lua_gc(gL.T, LUA_GCCOLLECT, 0);
|
||||
RESET_SAFE_LJMP(gL.T);
|
||||
}
|
||||
|
||||
lua->T = NULL;
|
||||
|
Loading…
Reference in New Issue
Block a user