}
else if (task->cfg && task->cfg->libs_ctx) {
lua_State *L = task->cfg->lua_state;
+ int old_top = lua_gettop(L);
if (task->cfg->mime_parser_cfg &&
rspamd_mime_parser_get_lua_magic_cbref(task->cfg->mime_parser_cfg) != -1) {
}
}
- lua_settop(L, 0);
+ lua_settop(L, old_top);
}
else if (rspamd_lua_require_function(L,
"lua_magic", "detect_mime_part")) {
}
}
- lua_settop(L, 0);
+ lua_settop(L, old_top);
}
else {
msg_err_task("cannot require lua_magic.detect_mime_part");
}
}
else if (mime_atom->type == MIME_ATOM_LOCAL_LUA_FUNCTION) {
- int err_idx;
+ int err_idx, old_top;
L = task->cfg->lua_state;
+ old_top = lua_gettop(L);
lua_pushcfunction(L, &rspamd_lua_traceback);
err_idx = lua_gettop(L);
}
}
- lua_settop(L, 0);
+ lua_settop(L, old_top);
}
else {
ret = rspamd_mime_expr_process_function(mime_atom->d.func, task,