[Tarantool-patches] [PATCH] box: remove context from stack
Maria Khaydich
maria.khaydich at tarantool.org
Tue Jun 9 13:35:18 MSK 2020
I suppose no tests are needed since this one is pretty straightforward.
----------------------------------------------------------------------
Lua stack was broken because we forgot to clear the context
in case of an error when return value of called function was
not serializable.
Closes #4617
---
Branch:
https://github.com/tarantool/tarantool/compare/eljashm/gh-4617-broken-lua-stack
Issue:
https://github.com/tarantool/tarantool/issues/4617
@ChangeLog
Remove context from lua stack in case of an error.
src/box/lua/call.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/box/lua/call.c b/src/box/lua/call.c
index 6588ec2fa..7ab49983d 100644
--- a/src/box/lua/call.c
+++ b/src/box/lua/call.c
@@ -436,6 +436,7 @@ port_lua_do_dump(struct port *base, struct mpstream *stream,
int top = lua_gettop(L);
if (lua_cpcall(L, handler, &ctx) != 0) {
luaT_toerror(port->L);
+ lua_pop(L, 1);
return -1;
}
lua_settop(L, top);
--
2.24.0
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20200609/8500fe9f/attachment.html>
More information about the Tarantool-patches
mailing list