libgdbus: fix bug. pass freed memory pointer 46/177246/1 accepted/tizen/unified/20180427.062425 submit/tizen/20180426.110342
authorsanghyeok.oh <sanghyeok.oh@samsung.com>
Thu, 26 Apr 2018 10:59:48 +0000 (19:59 +0900)
committersanghyeok.oh <sanghyeok.oh@samsung.com>
Thu, 26 Apr 2018 10:59:50 +0000 (19:59 +0900)
Change-Id: Idad7954352aa462254d4051910a3f7e6b685c1cc
Signed-off-by: sanghyeok.oh <sanghyeok.oh@samsung.com>
src/libgdbus/dbus-system.c

index fa377a3..de0f02d 100755 (executable)
@@ -2269,12 +2269,9 @@ static void _cb_pending(GDBusConnection *conn,
 
        reply = g_dbus_connection_call_finish(conn, res, &err);
        if (!reply || err) {
-               if (err) {
-                       _E("no message : [%s]", err->message);
-                       g_error_free(err);
-               } else {
-                       _E("no message");
-               }
+               if (!err)
+                       g_set_error(&err, G_IO_ERROR, G_IO_ERROR_FAILED,
+                               "Error during g_dbus_connection_call");
 
                if (data && data->func)
                        data->func(NULL, data->data, err);
@@ -2284,6 +2281,8 @@ static void _cb_pending(GDBusConnection *conn,
        if (data && data->func)
                data->func(reply, data->data, err);
 out:
+       if (err)
+               g_error_free(err);
        if (data)
                free(data);
 }