From 4fca052475fa3fcda165216680b033d2829192d0 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 31 Oct 2024 22:36:30 +0000 Subject: [PATCH] library: fix memory leak issues with plugin_free --- src/library/plugin/plugin.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/library/plugin/plugin.c b/src/library/plugin/plugin.c index 3d08f47..72f5af5 100644 --- a/src/library/plugin/plugin.c +++ b/src/library/plugin/plugin.c @@ -151,12 +151,12 @@ struct ExternalBrowser { uint64_t capture_id; }; -void _bolt_plugin_free(struct Plugin* const* plugin) { - hashmap_free((*plugin)->external_browsers); - free((*plugin)->path); - free((*plugin)->config_path); - lua_close((*plugin)->state); - free(*plugin); +void _bolt_plugin_free(struct Plugin* plugin) { + hashmap_free(plugin->external_browsers); + free(plugin->path); + free(plugin->config_path); + lua_close(plugin->state); + free(plugin); } static int _bolt_window_map_compare(const void* a, const void* b, void* udata) { @@ -446,8 +446,8 @@ static void _bolt_process_plugins(uint8_t* need_capture, uint8_t* capture_ready) while (hashmap_iter(plugins, &iter, &item)) { struct Plugin* plugin = *(struct Plugin**)item; if (plugin->is_deleted) { - _bolt_plugin_free(&plugin); hashmap_delete(plugins, &plugin); + _bolt_plugin_free(plugin); iter = 0; continue; } @@ -812,7 +812,7 @@ void _bolt_plugin_close() { iter = 0; while (hashmap_iter(plugins, &iter, &item)) { struct Plugin* plugin = *(struct Plugin**)item; - if (!plugin->is_deleted) _bolt_plugin_free(&plugin); + _bolt_plugin_free(plugin); } hashmap_free(plugins);