Commit Diff


commit - a6095051537fcd304944f0cf7283add87c85cf39
commit + df49871cda4bac5f77ccd53f30b3f11b893d85cf
blob - 1e77737fd5f0fb7d97827c3e42e4dec085fdbc9d
blob + 1c131caec02f9978c91af5f925e4612cf7c4d15a
--- src/box/lua/info.c
+++ src/box/lua/info.c
@@ -380,6 +380,8 @@ lbox_info_memory_call(struct lua_State *L)
 {
 	struct engine_memory_stat stat;
 	engine_memory_stat(&stat);
+
+	lua_createtable(L, 0, 6);
 
 	lua_pushstring(L, "data");
 	luaL_pushuint64(L, stat.data);
blob - /dev/null
blob + 0a27741d3afadd3f03dd6319374a38f41de0fac5 (mode 755)
--- /dev/null
+++ test/box-tap/gh-4688-box-info-memory.test.lua
@@ -0,0 +1,25 @@
+#!/usr/bin/env tarantool
+
+--
+-- gh-4688: box.info:memory() displayed full content of box.info
+--
+local tap = require('tap')
+
+box.cfg()
+
+local test = tap.test('gh-4688-box.info:memory-wrong-result')
+test:plan(1)
+
+local function get_keys(t)
+    local keys = {}
+    for k, v in pairs(t) do
+        table.insert(keys, k)
+    end
+    return keys
+end
+
+local keys_1 = get_keys(box.info.memory())
+local keys_2 = get_keys(box.info:memory())
+test:is_deeply(keys_1, keys_2, "box.info:memory coincide with box.info.memory")
+
+os.exit(test:check() and 0 or 1)