dryang / rpms / systemd

Forked from rpms/systemd a year ago
Clone
923a60
From 68550741351080ab8458d54a6900b2b6ea1ef511 Mon Sep 17 00:00:00 2001
923a60
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
923a60
Date: Sat, 9 May 2015 22:14:09 -0300
923a60
Subject: [PATCH] sd-bus: fix memory leak in test-bus-chat
923a60
923a60
Building with address sanitizer enabled on GCC 5.1.x a memory leak
923a60
is reported because we never close the bus, fix it by using
923a60
cleanup variable attribute.
923a60
923a60
Cherry-picked from: 2f50a2d55bf0a8b5959a6864ae1b39e7e9e0ce08
923a60
Related: #1331667
923a60
---
923a60
 src/libsystemd/sd-bus/test-bus-chat.c | 4 +---
923a60
 1 file changed, 1 insertion(+), 3 deletions(-)
923a60
923a60
diff --git a/src/libsystemd/sd-bus/test-bus-chat.c b/src/libsystemd/sd-bus/test-bus-chat.c
923a60
index 8625ee6d89..a80aaaeefe 100644
923a60
--- a/src/libsystemd/sd-bus/test-bus-chat.c
923a60
+++ b/src/libsystemd/sd-bus/test-bus-chat.c
923a60
@@ -264,7 +264,7 @@ fail:
923a60
 
923a60
 static void* client1(void*p) {
923a60
         _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
923a60
-        sd_bus *bus = NULL;
923a60
+        _cleanup_bus_close_unref_ sd_bus *bus = NULL;
923a60
         sd_bus_error error = SD_BUS_ERROR_NULL;
923a60
         const char *hello;
923a60
         int r;
923a60
@@ -347,8 +347,6 @@ finish:
923a60
                 else
923a60
                         sd_bus_send(bus, q, NULL);
923a60
 
923a60
-                sd_bus_flush(bus);
923a60
-                sd_bus_unref(bus);
923a60
         }
923a60
 
923a60
         sd_bus_error_free(&error);