diff options
author | David Robillard <d@drobilla.net> | 2022-08-08 18:35:04 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-08-17 13:50:47 -0400 |
commit | 73a795c17de2a8df0174cbc8a3a00353a4d60446 (patch) | |
tree | 182e26957b96180610c4b2c3b0512a6aaee0f865 /src | |
parent | 94271414197f2bc758076811d6d31c0771848394 (diff) | |
download | jalv-73a795c17de2a8df0174cbc8a3a00353a4d60446.tar.gz jalv-73a795c17de2a8df0174cbc8a3a00353a4d60446.tar.bz2 jalv-73a795c17de2a8df0174cbc8a3a00353a4d60446.zip |
Fix memory leaks
Diffstat (limited to 'src')
-rw-r--r-- | src/jalv.c | 5 | ||||
-rw-r--r-- | src/worker.c | 10 |
2 files changed, 8 insertions, 7 deletions
@@ -1278,6 +1278,7 @@ jalv_open(Jalv* const jalv, int* argc, char*** argv) // Apply loaded state to plugin instance if necessary if (state) { jalv_apply_state(jalv, state); + lilv_state_free(state); } if (jalv->opts.controls) { @@ -1336,6 +1337,9 @@ jalv_close(Jalv* const jalv) // Destroy the worker jalv_worker_destroy(&jalv->worker); + if (jalv->safe_restore) { + jalv_worker_destroy(&jalv->state_worker); + } // Deactivate plugin #if USE_SUIL @@ -1374,6 +1378,7 @@ jalv_close(Jalv* const jalv) sratom_free(jalv->sratom); sratom_free(jalv->ui_sratom); + serd_env_free(jalv->env); lilv_uis_free(jalv->uis); lilv_world_free(jalv->world); diff --git a/src/worker.c b/src/worker.c index 68030c5..2abf363 100644 --- a/src/worker.c +++ b/src/worker.c @@ -82,13 +82,9 @@ jalv_worker_finish(JalvWorker* worker) void jalv_worker_destroy(JalvWorker* worker) { - if (worker->requests) { - if (worker->threaded) { - zix_ring_free(worker->requests); - } - zix_ring_free(worker->responses); - free(worker->response); - } + zix_ring_free(worker->requests); + zix_ring_free(worker->responses); + free(worker->response); } LV2_Worker_Status |