[sr-dev] git:master:0328bc67: app_lua: safety checks for mandatory lua env attributes
Daniel-Constantin Mierla
miconda at gmail.com
Thu Apr 14 18:48:10 CEST 2016
Module: kamailio
Branch: master
Commit: 0328bc671182374926c7dbbec4887a0f532aff63
URL: https://github.com/kamailio/kamailio/commit/0328bc671182374926c7dbbec4887a0f532aff63
Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2016-04-14T18:16:02+02:00
app_lua: safety checks for mandatory lua env attributes
---
Modified: modules/app_lua/app_lua_sr.c
---
Diff: https://github.com/kamailio/kamailio/commit/0328bc671182374926c7dbbec4887a0f532aff63.diff
Patch: https://github.com/kamailio/kamailio/commit/0328bc671182374926c7dbbec4887a0f532aff63.patch
---
diff --git a/modules/app_lua/app_lua_sr.c b/modules/app_lua/app_lua_sr.c
index 63edd5b..036642d 100644
--- a/modules/app_lua/app_lua_sr.c
+++ b/modules/app_lua/app_lua_sr.c
@@ -1451,6 +1451,11 @@ int sr_kemi_exec_func(lua_State* L, str *mname, int midx, str *fname)
env_L = sr_lua_env_get();
+ if(env_L==NULL || env_L->msg==NULL) {
+ LM_ERR("invalid Lua environment attributes\n");
+ return app_lua_return_false(L);
+ }
+
ket = sr_kemi_lookup(mname, midx, fname);
if(ket==NULL) {
return app_lua_return_false(L);
@@ -1462,11 +1467,11 @@ int sr_kemi_exec_func(lua_State* L, str *mname, int midx, str *fname)
}
argc = lua_gettop(L);
- if(argc==0 && ket->ptypes[0]==SR_KEMIP_NONE) {
+ if(argc==pdelta && ket->ptypes[0]==SR_KEMIP_NONE) {
ret = ((sr_kemi_fm_f)(ket->func))(env_L->msg);
return sr_kemi_return(L, ket, ret);
}
- if(argc==0 && ket->ptypes[0]!=SR_KEMIP_NONE) {
+ if(argc==pdelta && ket->ptypes[0]!=SR_KEMIP_NONE) {
LM_ERR("invalid number of parameters for: %.*s\n",
fname->len, fname->s);
return app_lua_return_false(L);
More information about the sr-dev
mailing list