diff options
-rw-r--r-- | plugins/ao/eng_ssf/eng_ssf.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/plugins/ao/eng_ssf/eng_ssf.c b/plugins/ao/eng_ssf/eng_ssf.c index 18ba0e42..9b1b5714 100644 --- a/plugins/ao/eng_ssf/eng_ssf.c +++ b/plugins/ao/eng_ssf/eng_ssf.c @@ -295,7 +295,16 @@ int32 ssf_gen(void *handle, int16 *buffer, uint32 samples) int32 ssf_stop(void *handle) { ssf_synth_t *s = handle; - sat_hw_free (s->cpu); + if (s) { + if (s->c) { + free (s->c); + } + if (s->cpu) { + sat_hw_free (s->cpu); + free (s->cpu); + } + free (s); + } return AO_SUCCESS; } |