diff options
author | David Robillard <d@drobilla.net> | 2020-01-18 17:36:06 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-01-18 17:36:06 +0100 |
commit | 5ae973b8f7f38f32a28b6b23bfe622b51bb64c51 (patch) | |
tree | e0d4a7cfe816ed63c49a95b86396670955461a0a /src/plugin.c | |
parent | bd0d8e69b753903888faaa781661b422793ef4be (diff) | |
download | lilv-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.c | 11 |
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 |