Fix a memleak in libdbus daemon benchmark 97/268897/3
authorMichal Bloch <m.bloch@samsung.com>
Tue, 4 Jan 2022 10:43:42 +0000 (11:43 +0100)
committerMichal Bloch <m.bloch@samsung.com>
Tue, 4 Jan 2022 12:28:27 +0000 (13:28 +0100)
Change-Id: I8dbbf91fabbec8051a37b5882fcad73d3f172c0c
Signed-off-by: Michal Bloch <m.bloch@samsung.com>
benchmark/libdbus.c

index c13cf3ab6782930935929868a9f1321e840ddaa4..06d534301ede9c0b5fa899defede3434a9e53dba 100644 (file)
@@ -145,7 +145,6 @@ void Receive(register int size, const char *name, const char *path, bool is_lt)
 
 void Send(register int size, const char *name, const char *path, const char *client, bool is_lt)
 {
-       DBusMessage *msg;
        unsigned long long start;
 
        char *cptr = (char *)malloc(size);
@@ -167,7 +166,7 @@ void Send(register int size, const char *name, const char *path, const char *cli
                        cptr[0] = 'w';
 
 
-               msg = dbus_message_new_method_call (name, path, name, "Perf");
+               DBusMessage *msg = dbus_message_new_method_call (name, path, name, "Perf");
                dbus_message_set_no_reply(msg, 1);
                DBusMessageIter iter;
                dbus_message_iter_init_append (msg, &iter);
@@ -185,6 +184,7 @@ void Send(register int size, const char *name, const char *path, const char *cli
                                DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE, &cptr, size,
                                DBUS_TYPE_INVALID);
                dbus_connection_send (conn, msg, NULL);
+               dbus_message_unref(msg);
 
                if(is_lt) {
                        if(size <= ONE_PAGE_SIZE)
@@ -199,7 +199,6 @@ void Send(register int size, const char *name, const char *path, const char *cli
        }
 
        dbus_connection_flush(conn);
-       dbus_message_unref (msg);
        free(cptr);
 }