X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-user-dbus.c;h=32f4062ac5a2cc25703d6b3dc10cd9f6b2fc733b;hp=ddf9d9d5cfcb46ead1ddba81b551e4e6da86005e;hb=ce0fc5f5f6debc6e37ac3ab0a3ea1c9c35b3ed99;hpb=9e13dbae509605dba1bde7e7385086b59acb428e diff --git a/src/login/logind-user-dbus.c b/src/login/logind-user-dbus.c index ddf9d9d5c..32f4062ac 100644 --- a/src/login/logind-user-dbus.c +++ b/src/login/logind-user-dbus.c @@ -257,7 +257,7 @@ static DBusHandlerResult user_message_dispatch( DBusMessage *message) { DBusError error; - DBusMessage *reply = NULL; + _cleanup_dbus_message_unref_ DBusMessage *reply = NULL; int r; assert(u); @@ -304,18 +304,13 @@ static DBusHandlerResult user_message_dispatch( } if (reply) { - if (!dbus_connection_send(connection, reply, NULL)) + if (!bus_maybe_send_reply(connection, message, reply)) goto oom; - - dbus_message_unref(reply); } return DBUS_HANDLER_RESULT_HANDLED; oom: - if (reply) - dbus_message_unref(reply); - dbus_error_free(&error); return DBUS_HANDLER_RESULT_NEED_MEMORY; @@ -366,9 +361,9 @@ char *user_bus_path(User *u) { } int user_send_signal(User *u, bool new_user) { - DBusMessage *m; + _cleanup_dbus_message_unref_ DBusMessage *m = NULL; int r = -ENOMEM; - char *p = NULL; + _cleanup_free_ char *p = NULL; uint32_t uid; assert(u); @@ -399,16 +394,13 @@ int user_send_signal(User *u, bool new_user) { r = 0; finish: - dbus_message_unref(m); - free(p); - return r; } int user_send_changed(User *u, const char *properties) { - DBusMessage *m; + _cleanup_dbus_message_unref_ DBusMessage *m = NULL; int r = -ENOMEM; - char *p = NULL; + _cleanup_free_ char *p = NULL; assert(u); @@ -429,9 +421,5 @@ int user_send_changed(User *u, const char *properties) { r = 0; finish: - if (m) - dbus_message_unref(m); - free(p); - return r; }