[FarGroup/FarManager] master: LuaFAR: fix a memory leak (6878c7b5f)

0 views
Skip to first unread message

farg...@farmanager.com

unread,
Jun 30, 2024, 3:30:47 PMJun 30
to farco...@googlegroups.com
Repository : https://github.com/FarGroup/FarManager
On branch : master
Link : https://github.com/FarGroup/FarManager/commit/6878c7b5fda9ea89a76891c6317520af88cc93dd

>---------------------------------------------------------------

commit 6878c7b5fda9ea89a76891c6317520af88cc93dd
Author: Shmuel Zeigerman <solo...@gmail.com>
Date: Sun Jun 30 22:28:41 2024 +0300

LuaFAR: fix a memory leak


>---------------------------------------------------------------

6878c7b5fda9ea89a76891c6317520af88cc93dd
plugins/luamacro/_globalinfo.lua | 2 +-
plugins/luamacro/changelog | 4 ++++
plugins/luamacro/luafar/lregex.c | 3 +++
plugins/luamacro/luafar/version.h | 2 +-
4 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/plugins/luamacro/_globalinfo.lua b/plugins/luamacro/_globalinfo.lua
index 6ff53dcbc..a15675399 100644
--- a/plugins/luamacro/_globalinfo.lua
+++ b/plugins/luamacro/_globalinfo.lua
@@ -1,6 +1,6 @@
function export.GetGlobalInfo()
return {
- Version = { 3, 0, 0, 844 },
+ Version = { 3, 0, 0, 845 },
MinFarVersion = { 3, 0, 0, 6327 },
Guid = win.Uuid("4EBBEFC8-2084-4B7F-94C0-692CE136894D"),
Title = "LuaMacro",
diff --git a/plugins/luamacro/changelog b/plugins/luamacro/changelog
index 4cb42655a..be9c6b5bb 100644
--- a/plugins/luamacro/changelog
+++ b/plugins/luamacro/changelog
@@ -1,3 +1,7 @@
+shmuel 2024-06-30 22:27:03+03:00 - build 845
+
+1. LuaFAR: fix a memory leak.
+
shmuel 2024-06-20 17:41:53+03:00 - build 844

1. LuaFAR: refactoring
diff --git a/plugins/luamacro/luafar/lregex.c b/plugins/luamacro/luafar/lregex.c
index 2d026c657..1297adaaf 100644
--- a/plugins/luamacro/luafar/lregex.c
+++ b/plugins/luamacro/luafar/lregex.c
@@ -73,7 +73,10 @@ TFarRegex* push_far_regex(lua_State *L, FARAPIREGEXPCONTROL RegExpControl, const
luaL_error(L, "RECTL_CREATE failed");

if (!RegExpControl(fr->hnd, RECTL_COMPILE, 0, (void*)pat))
+ {
+ RegExpControl(fr->hnd, RECTL_FREE, 0, 0);
luaL_error(L, "invalid regular expression");
+ }

//(void)RegExpControl(fr->hnd, RECTL_OPTIMIZE, 0, 0); // very slow operation
luaL_getmetatable(L, TYPE_REGEX);
diff --git a/plugins/luamacro/luafar/version.h b/plugins/luamacro/luafar/version.h
index 74b96bb4b..6350e8581 100644
--- a/plugins/luamacro/luafar/version.h
+++ b/plugins/luamacro/luafar/version.h
@@ -1,3 +1,3 @@
#include <farversion.hpp>

-#define PLUGIN_BUILD 844
+#define PLUGIN_BUILD 845


Reply all
Reply to author
Forward
0 new messages