Bug 1418985 - pass valid error parameter to dbus_bus_get() instead of nullptr, jhorak draft
authorMartin Stransky <stransky@redhat.com>
Mon, 20 Nov 2017 15:33:52 +0100
changeset 700595 a8ac6d116fd642b5e6719cb4bbf9c39fd4a6fe21
parent 700593 1acd362f1dbd6521fee8a8d05df995bed13bee78
child 740934 86b11f12a5ded02d20f8b55a772be60b9167d78f
push id89901
push userstransky@redhat.com
push dateMon, 20 Nov 2017 14:39:34 +0000
bugs1418985
milestone59.0a1
Bug 1418985 - pass valid error parameter to dbus_bus_get() instead of nullptr, jhorak MozReview-Commit-ID: 2pjjSSd7DOI
toolkit/components/remote/nsDBusRemoteService.cpp
--- a/toolkit/components/remote/nsDBusRemoteService.cpp
+++ b/toolkit/components/remote/nsDBusRemoteService.cpp
@@ -157,27 +157,30 @@ nsDBusRemoteService::Startup(const char*
   if (mConnection && dbus_connection_get_is_connected(mConnection)) {
     // We're already connected so we don't need to reconnect
     return NS_ERROR_ALREADY_INITIALIZED;
   }
 
   mAppName = aAppName;
   ToLowerCase(mAppName);
 
+  DBusError err;
+  dbus_error_init(&err);
   mConnection = already_AddRefed<DBusConnection>(
-    dbus_bus_get(DBUS_BUS_SESSION, nullptr));
-  if (!mConnection)
+    dbus_bus_get(DBUS_BUS_SESSION, &err));
+  if (dbus_error_is_set(&err)) {
+    dbus_error_free(&err);
     return NS_ERROR_FAILURE;
+  }
 
   dbus_connection_set_exit_on_disconnect(mConnection, false);
 
   nsAutoCString interfaceName;
   interfaceName = nsPrintfCString("org.mozilla.%s.%s", aAppName, aProfileName);
 
-  DBusError err;
   dbus_error_init(&err);
   dbus_bus_request_name(mConnection, interfaceName.get(),
                        DBUS_NAME_FLAG_DO_NOT_QUEUE, &err);
   // The interface is already owned - there is another application/profile
   // instance already running.
   if (dbus_error_is_set(&err)) {
     dbus_error_free(&err);
     mConnection = nullptr;