summaryrefslogtreecommitdiff
path: root/accel-pppd/lua
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/lua')
-rw-r--r--accel-pppd/lua/session.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/accel-pppd/lua/session.c b/accel-pppd/lua/session.c
index bd98911b..131f02f5 100644
--- a/accel-pppd/lua/session.c
+++ b/accel-pppd/lua/session.c
@@ -268,10 +268,16 @@ static int session_module(lua_State *L)
void __export lua_session_module_register(const struct lua_session_module *mod)
{
+ char *mods_new;
if (!mods)
- mods = malloc(sizeof(void *));
+ mods_new = malloc(sizeof(void *));
else
- mods = realloc(mods, (mod_cnt + 1) * sizeof(void *));
+ mods_new = realloc(mods, (mod_cnt + 1) * sizeof(void *));
- mods[mod_cnt++] = mod;
+ if (mods_new) {
+ mods = mods_new;
+ mods[mod_cnt++] = mod;
+ } else {
+ log_emerg("lua: out of memory\n");
+ }
}