lua: Fix stack imbalance in ubus_event_handler
The value from getglobal wasn't being removed from the stack, resulting in an ever growing stack in the ubus event handler. Signed-off-by: Karl Vogel <karl.vogel@gmail.com> Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
This commit is contained in:
parent
33b2abf631
commit
d23b07a9ff
1 changed files with 3 additions and 0 deletions
|
@ -597,10 +597,13 @@ ubus_event_handler(struct ubus_context *ctx, struct ubus_event_handler *ev,
|
|||
|
||||
lua_getglobal(state, "__ubus_cb_event");
|
||||
lua_rawgeti(state, -1, listener->r);
|
||||
lua_remove(state, -2);
|
||||
|
||||
if (lua_isfunction(state, -1)) {
|
||||
ubus_lua_parse_blob_array(state, blob_data(msg), blob_len(msg), true);
|
||||
lua_call(state, 1, 0);
|
||||
} else {
|
||||
lua_pop(state, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue