echo-cancel: Fix error cleanup of pa_speex_ec_init()
authorPeter Meerwald <p.meerwald@bct-electronic.com>
Fri, 11 Jan 2013 14:59:27 +0000 (15:59 +0100)
committerTanu Kaskinen <tanuk@iki.fi>
Fri, 11 Jan 2013 19:24:24 +0000 (21:24 +0200)
Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
src/modules/echo-cancel/speex.c

index 5ebd0b3..6c532f2 100644 (file)
@@ -199,8 +199,14 @@ pa_bool_t pa_speex_ec_init(pa_core *c, pa_echo_canceller *ec,
 fail:
     if (ma)
         pa_modargs_free(ma);
-    if (ec->params.priv.speex.state)
+    if (ec->params.priv.speex.pp_state) {
         speex_preprocess_state_destroy(ec->params.priv.speex.pp_state);
+        ec->params.priv.speex.pp_state = NULL;
+    }
+    if (ec->params.priv.speex.state) {
+        speex_echo_state_destroy(ec->params.priv.speex.state);
+        ec->params.priv.speex.state = NULL;
+    }
     return FALSE;
 }