echo-cancel: fix a memory leak
authorTanu Kaskinen <tanuk@iki.fi>
Thu, 9 Nov 2017 12:12:34 +0000 (14:12 +0200)
committerTanu Kaskinen <tanuk@iki.fi>
Tue, 21 Nov 2017 13:18:26 +0000 (15:18 +0200)
The pa_echo_canceller_msg object was never unreffed.

src/modules/echo-cancel/module-echo-cancel.c

index ee3725abd5776a5fda06469243ab1d0a680d7889..4fc837d2a25ca86c9aefb0fd020f84e19db2c99b 100644 (file)
@@ -2164,8 +2164,10 @@ void pa__done(pa_module*m) {
         if (u->ec->done)
             u->ec->done(u->ec);
 
-        if (u->ec->msg)
+        if (u->ec->msg) {
             u->ec->msg->dead = true;
+            pa_echo_canceller_msg_unref(u->ec->msg);
+        }
 
         pa_xfree(u->ec);
     }
@@ -2346,6 +2348,7 @@ int main(int argc, char* argv[]) {
 
     u.ec->done(u.ec);
     u.ec->msg->dead = true;
+    pa_echo_canceller_msg_unref(u.ec->msg);
 
 out:
     if (u.captured_file)