[pulseaudio-discuss] [PATCH 3/7] pacat: Fix memory leak when draining the context.

Tanu Kaskinen tanu.kaskinen at digia.com
Fri Mar 4 07:42:09 PST 2011


---
 src/utils/pacat.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/utils/pacat.c b/src/utils/pacat.c
index 6cd01d2..749593e 100644
--- a/src/utils/pacat.c
+++ b/src/utils/pacat.c
@@ -105,6 +105,7 @@ static void context_drain_complete(pa_context*c, void *userdata) {
 
 /* Stream draining complete */
 static void stream_drain_complete(pa_stream*s, int success, void *userdata) {
+    pa_operation *o = NULL;
 
     if (!success) {
         pa_log(_("Failed to drain stream: %s"), pa_strerror(pa_context_errno(context)));
@@ -118,9 +119,10 @@ static void stream_drain_complete(pa_stream*s, int success, void *userdata) {
     pa_stream_unref(stream);
     stream = NULL;
 
-    if (!pa_context_drain(context, context_drain_complete, NULL))
+    if (!(o = pa_context_drain(context, context_drain_complete, NULL)))
         pa_context_disconnect(context);
     else {
+        pa_operation_unref(o);
         if (verbose)
             pa_log(_("Draining connection to server."));
     }
-- 
1.7.4.1




More information about the pulseaudio-discuss mailing list