]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
do_lua doesn't access global instance data
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 11 Mar 2019 03:36:23 +0000 (11:36 +0800)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 11 Mar 2019 03:36:23 +0000 (11:36 +0800)
src/modules/rlm_lua/lua.c
src/modules/rlm_lua/lua.h
src/modules/rlm_lua/rlm_lua.c

index a126126d24b056a507f939678e7d20f7a846ecbe..be0d165ccd044f6706cdf41aae4931e11841fc9c 100644 (file)
@@ -718,7 +718,7 @@ static int rlm_lua_get_field(lua_State *L, REQUEST *request, char const *field)
        return 0;
 }
 
-int do_lua(rlm_lua_t const *inst, rlm_lua_thread_t *thread, REQUEST *request, char const *funcname)
+int do_lua(rlm_lua_thread_t *thread, REQUEST *request, char const *funcname)
 {
        fr_cursor_t cursor;
        lua_State *L = thread->interpreter;
index 7742a88de6c415948827c019347b98366e4065db..f960781e8d5c6e20929f0d0737d399f35e6a00a2 100644 (file)
@@ -77,7 +77,7 @@ typedef struct {
 
 /* lua.c */
 int rlm_lua_init(lua_State **out, rlm_lua_t const *instance);
-int do_lua(rlm_lua_t const *inst, rlm_lua_thread_t *thread, REQUEST *request, char const *funcname);
+int do_lua(rlm_lua_thread_t *thread, REQUEST *request, char const *funcname);
 bool rlm_lua_isjit(lua_State *L);
 char const *rlm_lua_version(lua_State *L);
 
index 567e3aeca622900d0db9901ac8f3bbbdb8c93ae0..a41342a6ec2ec68589b1aa1518f42ced5a48c60d 100644 (file)
@@ -68,12 +68,8 @@ static const CONF_PARSER module_config[] = {
 #define DO_LUA(_s)\
 static rlm_rcode_t mod_##_s(void *instance, void *thread, REQUEST *request) {\
        rlm_lua_t const *inst = instance;\
-       if (!inst->func_##_s) {\
-               return RLM_MODULE_NOOP;\
-       }\
-       if (do_lua(inst, thread, request, inst->func_##_s) < 0) {\
-               return RLM_MODULE_FAIL;\
-       }\
+       if (!inst->func_##_s) return RLM_MODULE_NOOP;\
+       if (do_lua(thread, request, inst->func_##_s) < 0) return RLM_MODULE_FAIL;\
        return RLM_MODULE_OK;\
 }