From 96706b7b7e860f23ee59913e347f9b5fd306b662 Mon Sep 17 00:00:00 2001
From: Ilya Verbin <iverbin@tarantool.org>
Date: Fri, 5 May 2023 15:56:42 +0300
Subject: [PATCH] box: fix memory leak in lbox_key_def_new and
 luaT_key_def_merge

There was a typo in the commit 55295f5f1be7 ("box: populate
index_object.parts with key_def module methods"):
the function luaT_push_key_def() was erroneously used instead
of luaT_push_key_def_nodup().

Follow-up #7356

NO_DOC=bug fix
NO_TEST=memory leak
NO_CHANGELOG=unreleased
---
 src/box/lua/key_def.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/box/lua/key_def.c b/src/box/lua/key_def.c
index b520251ea1..0c8ee41a70 100644
--- a/src/box/lua/key_def.c
+++ b/src/box/lua/key_def.c
@@ -397,7 +397,7 @@ luaT_key_def_merge(struct lua_State *L, int idx_a, int idx_b)
 	if (new_key_def == NULL)
 		return luaT_error(L);
 
-	luaT_push_key_def(L, new_key_def);
+	luaT_push_key_def_nodup(L, new_key_def);
 	return 1;
 }
 
@@ -522,7 +522,7 @@ lbox_key_def_new(struct lua_State *L)
 	 */
 	key_def_update_optionality(key_def, 0);
 
-	luaT_push_key_def(L, key_def);
+	luaT_push_key_def_nodup(L, key_def);
 	return 1;
 }
 
-- 
GitLab