summaryrefslogtreecommitdiffstats
path: root/src/plugin.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-01-18 17:36:06 +0100
committerDavid Robillard <d@drobilla.net>2020-01-18 17:36:06 +0100
commit5ae973b8f7f38f32a28b6b23bfe622b51bb64c51 (patch)
treee0d4a7cfe816ed63c49a95b86396670955461a0a /src/plugin.c
parentbd0d8e69b753903888faaa781661b422793ef4be (diff)
downloadlilv-5ae973b8f7f38f32a28b6b23bfe622b51bb64c51.tar.gz
lilv-5ae973b8f7f38f32a28b6b23bfe622b51bb64c51.tar.bz2
lilv-5ae973b8f7f38f32a28b6b23bfe622b51bb64c51.zip
Fix memory leak when dyn-manifest has no plugins
Diffstat (limited to 'src/plugin.c')
-rw-r--r--src/plugin.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/plugin.c b/src/plugin.c
index 3f27a6b..0743cd8 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -100,16 +100,7 @@ lilv_plugin_free(LilvPlugin* plugin)
{
#ifdef LILV_DYN_MANIFEST
if (plugin->dynmanifest && --plugin->dynmanifest->refs == 0) {
- typedef int (*CloseFunc)(LV2_Dyn_Manifest_Handle);
- CloseFunc close_func = (CloseFunc)lilv_dlfunc(plugin->dynmanifest->lib,
- "lv2_dyn_manifest_close");
- if (close_func) {
- close_func(plugin->dynmanifest->handle);
- }
-
- dlclose(plugin->dynmanifest->lib);
- lilv_node_free(plugin->dynmanifest->bundle);
- free(plugin->dynmanifest);
+ lilv_dynmanifest_free(plugin->dynmanifest);
}
#endif