diff --git a/src/nm-manager-auth.c b/src/nm-manager-auth.c index 566fc80a6..e6d4778a4 100644 --- a/src/nm-manager-auth.c +++ b/src/nm-manager-auth.c @@ -20,6 +20,7 @@ #include "nm-manager-auth.h" #include "nm-logging.h" +#include "nm-dbus-manager.h" #include #include @@ -325,9 +326,14 @@ nm_auth_get_caller_uid (DBusGMethodInvocation *context, DBusError dbus_error; g_return_val_if_fail (context != NULL, FALSE); - g_return_val_if_fail (dbus_mgr != NULL, FALSE); g_return_val_if_fail (out_uid != NULL, FALSE); + if (!dbus_mgr) { + dbus_mgr = nm_dbus_manager_get (); + g_assert (dbus_mgr); + } else + g_object_ref (dbus_mgr); + *out_uid = G_MAXULONG; sender = dbus_g_method_get_sender (context); @@ -356,6 +362,7 @@ nm_auth_get_caller_uid (DBusGMethodInvocation *context, success = TRUE; out: + g_object_unref (dbus_mgr); g_free (sender); return success; }