X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Flogind-dbus.c;h=b33a096f3c1076c56b3793615dcbf130cc34223e;hb=e99fa3cba5c0a07bdcea22a308bf9b973e88b624;hp=035847c622e740bcd18d473851969920fedd708b;hpb=64559e8b4e81897bab3659aea27791467a579566;p=elogind.git diff --git a/src/logind-dbus.c b/src/logind-dbus.c index 035847c62..b33a096f3 100644 --- a/src/logind-dbus.c +++ b/src/logind-dbus.c @@ -72,6 +72,8 @@ " \n" \ " \n" \ " \n" \ + " \n" \ + " \n" \ " \n" \ " \n" \ " \n" \ @@ -379,6 +381,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess session = hashmap_get(m->sessions, id); if (session) { + free(id); fifo_fd = session_create_fifo(session); if (fifo_fd < 0) { @@ -419,6 +422,9 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess close_nointr_nofail(fifo_fd); *_reply = reply; + strv_free(controllers); + strv_free(reset_controllers); + return 0; } @@ -519,12 +525,15 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess goto fail; } + seat = s ? s->id : ""; b = dbus_message_append_args( reply, DBUS_TYPE_STRING, &session->id, DBUS_TYPE_OBJECT_PATH, &p, DBUS_TYPE_STRING, &session->user->runtime_path, DBUS_TYPE_UNIX_FD, &fifo_fd, + DBUS_TYPE_STRING, &seat, + DBUS_TYPE_UINT32, &vtnr, DBUS_TYPE_INVALID); free(p);