mirror of
https://github.com/falcosecurity/falco.git
synced 2025-06-29 16:17:32 +00:00
Return lua errors not falco_exceptions
In C functions that implement lua functions, don't directly throw falco_exceptions, which results in opaque error messages like: Mon Feb 27 10:09:58 2017: Runtime error: Error invoking function output: C++ exception. Exiting. Instead, return lua errors via lua_error().
This commit is contained in:
parent
7d711dbb32
commit
fb36af12cf
@ -81,7 +81,8 @@ int falco_formats::format_event (lua_State *ls)
|
|||||||
!lua_isstring(ls, -2) ||
|
!lua_isstring(ls, -2) ||
|
||||||
!lua_isstring(ls, -3) ||
|
!lua_isstring(ls, -3) ||
|
||||||
!lua_islightuserdata(ls, -4)) {
|
!lua_islightuserdata(ls, -4)) {
|
||||||
throw falco_exception("Invalid arguments passed to format_event()\n");
|
lua_pushstring(ls, "Invalid arguments passed to format_event()");
|
||||||
|
lua_error(ls);
|
||||||
}
|
}
|
||||||
sinsp_evt* evt = (sinsp_evt*)lua_topointer(ls, 1);
|
sinsp_evt* evt = (sinsp_evt*)lua_topointer(ls, 1);
|
||||||
const char *rule = (char *) lua_tostring(ls, 2);
|
const char *rule = (char *) lua_tostring(ls, 2);
|
||||||
|
@ -49,7 +49,8 @@ int falco_rules::clear_filters(lua_State *ls)
|
|||||||
{
|
{
|
||||||
if (! lua_islightuserdata(ls, -1))
|
if (! lua_islightuserdata(ls, -1))
|
||||||
{
|
{
|
||||||
throw falco_exception("Invalid arguments passed to clear_filters()\n");
|
lua_pushstring(ls, "Invalid arguments passed to clear_filters()");
|
||||||
|
lua_error(ls);
|
||||||
}
|
}
|
||||||
|
|
||||||
falco_rules *rules = (falco_rules *) lua_topointer(ls, -1);
|
falco_rules *rules = (falco_rules *) lua_topointer(ls, -1);
|
||||||
@ -70,7 +71,8 @@ int falco_rules::add_filter(lua_State *ls)
|
|||||||
! lua_istable(ls, -2) ||
|
! lua_istable(ls, -2) ||
|
||||||
! lua_istable(ls, -1))
|
! lua_istable(ls, -1))
|
||||||
{
|
{
|
||||||
throw falco_exception("Invalid arguments passed to add_filter()\n");
|
lua_pushstring(ls, "Invalid arguments passed to add_filter()");
|
||||||
|
lua_error(ls);
|
||||||
}
|
}
|
||||||
|
|
||||||
falco_rules *rules = (falco_rules *) lua_topointer(ls, -4);
|
falco_rules *rules = (falco_rules *) lua_topointer(ls, -4);
|
||||||
@ -122,7 +124,8 @@ int falco_rules::enable_rule(lua_State *ls)
|
|||||||
! lua_isstring(ls, -2) ||
|
! lua_isstring(ls, -2) ||
|
||||||
! lua_isnumber(ls, -1))
|
! lua_isnumber(ls, -1))
|
||||||
{
|
{
|
||||||
throw falco_exception("Invalid arguments passed to enable_rule()\n");
|
lua_pushstring(ls, "Invalid arguments passed to enable_rule()");
|
||||||
|
lua_error(ls);
|
||||||
}
|
}
|
||||||
|
|
||||||
falco_rules *rules = (falco_rules *) lua_topointer(ls, -3);
|
falco_rules *rules = (falco_rules *) lua_topointer(ls, -3);
|
||||||
|
Loading…
Reference in New Issue
Block a user