diff --git a/src/mod/languages/mod_lua/freeswitch_lua.cpp b/src/mod/languages/mod_lua/freeswitch_lua.cpp index 437335b808..6a45242947 100644 --- a/src/mod/languages/mod_lua/freeswitch_lua.cpp +++ b/src/mod/languages/mod_lua/freeswitch_lua.cpp @@ -50,9 +50,13 @@ bool Session::end_allow_threads() void Session::setLUA(lua_State * state) { - L = state; - lua_setglobal(L, uuid); - lua_getfield(L, LUA_GLOBALSINDEX, uuid); + if (uuid) { + L = state; + lua_setglobal(L, uuid); + lua_getfield(L, LUA_GLOBALSINDEX, uuid); + } else { + //did we fail to make a session? + } } lua_State *Session::getLUA() diff --git a/src/mod/languages/mod_perl/freeswitch_perl.cpp b/src/mod/languages/mod_perl/freeswitch_perl.cpp index f84572a80b..03453bab50 100644 --- a/src/mod/languages/mod_perl/freeswitch_perl.cpp +++ b/src/mod/languages/mod_perl/freeswitch_perl.cpp @@ -16,25 +16,33 @@ Session::Session():CoreSession() Session::Session(char *uuid):CoreSession(uuid) { init_me(); - suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session)); - for (char *p = suuid; p && *p; p++) { - if (*p == '-') { - *p = '_'; - } - if (*p == '\n') { - *p = '\0'; + if (session) { + suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session)); + for (char *p = suuid; p && *p; p++) { + if (*p == '-') { + *p = '_'; + } + if (*p == '\n') { + *p = '\0'; + } } + } else { + //handle failure } } Session::Session(switch_core_session_t *new_session):CoreSession(new_session) { init_me(); - suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session)); - for (char *p = suuid; p && *p; p++) { - if (*p == '-') { - *p = '_'; + if (session) { + suuid = switch_core_session_sprintf(session, "main::uuid_%s\n", switch_core_session_get_uuid(session)); + for (char *p = suuid; p && *p; p++) { + if (*p == '-') { + *p = '_'; + } } + } else { + //handle failure } } static switch_status_t perl_hanguphook(switch_core_session_t *session_hungup);