From 75933d48fe257d8223e99af96b5f903b34b3d40a Mon Sep 17 00:00:00 2001 From: Thierry Fournier Date: Thu, 21 Jan 2016 09:30:18 +0100 Subject: [PATCH] BUG/MINOR: lua: unsafe initialization During the Lua HAProxy initialisation, C functions using Lua calls can throws an error. This error was not catched. This patch fix this behaviour. --- src/hlua.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/hlua.c b/src/hlua.c index 5cf23203f..1a31eb267 100644 --- a/src/hlua.c +++ b/src/hlua.c @@ -6591,6 +6591,12 @@ void hlua_init(void) /* Initialise lua. */ luaL_openlibs(gL.T); + /* Set safe environment for the initialisation. */ + if (!SET_SAFE_LJMP(gL.T)) { + fprintf(stderr, "Lua init: critical error.\n"); + exit(1); + } + /* * * Create "core" object. @@ -7151,4 +7157,6 @@ void hlua_init(void) /* Initialize SSL server. */ ssl_sock_prepare_srv_ctx(&socket_ssl, &socket_proxy); #endif + + RESET_SAFE_LJMP(gL.T); }