chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
execute: avoid logging to closed fds
[elogind.git]
/
src
/
loginctl.c
diff --git
a/src/loginctl.c
b/src/loginctl.c
index 53058d07a730f47b36b82dd624c84dd3ffb9aa98..89762b66b01cf8f9592ba417313d4ec6eaccc2fe 100644
(file)
--- a/
src/loginctl.c
+++ b/
src/loginctl.c
@@
-64,6
+64,8
@@
static bool on_tty(void) {
}
static void pager_open_if_enabled(void) {
}
static void pager_open_if_enabled(void) {
+
+ /* Cache result before we open the pager */
on_tty();
if (!arg_no_pager)
on_tty();
if (!arg_no_pager)
@@
-1061,10
+1063,9
@@
static int show(DBusConnection *bus, char **args, unsigned n) {
uid_t uid;
uint32_t u;
uid_t uid;
uint32_t u;
- r = get_user_creds((const char**) (args+i), &uid, NULL, NULL);
- if (r < 0) {
+ r
et
= get_user_creds((const char**) (args+i), &uid, NULL, NULL);
+ if (r
et
< 0) {
log_error("User %s unknown.", args[i]);
log_error("User %s unknown.", args[i]);
- r = -ENOENT;
goto finish;
}
goto finish;
}
@@
-1146,7
+1147,7
@@
finish:
}
static int activate(DBusConnection *bus, char **args, unsigned n) {
}
static int activate(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1157,6
+1158,8
@@
static int activate(DBusConnection *bus, char **args, unsigned n) {
dbus_error_init(&error);
for (i = 1; i < n; i++) {
dbus_error_init(&error);
for (i = 1; i < n; i++) {
+ DBusMessage *reply;
+
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
@@
-1195,16
+1198,13
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
}
static int kill_session(DBusConnection *bus, char **args, unsigned n) {
dbus_error_free(&error);
return ret;
}
static int kill_session(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1218,6
+1218,8
@@
static int kill_session(DBusConnection *bus, char **args, unsigned n) {
arg_kill_who = "all";
for (i = 1; i < n; i++) {
arg_kill_who = "all";
for (i = 1; i < n; i++) {
+ DBusMessage *reply;
+
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
@@
-1255,16
+1257,13
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
}
static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
dbus_error_free(&error);
return ret;
}
static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1278,6
+1277,7
@@
static int enable_linger(DBusConnection *bus, char **args, unsigned n) {
b = streq(args[0], "enable-linger");
for (i = 1; i < n; i++) {
b = streq(args[0], "enable-linger");
for (i = 1; i < n; i++) {
+ DBusMessage *reply;
uint32_t u;
uid_t uid;
uint32_t u;
uid_t uid;
@@
-1327,16
+1327,13
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
}
static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
dbus_error_free(&error);
return ret;
}
static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1349,6
+1346,7
@@
static int terminate_user(DBusConnection *bus, char **args, unsigned n) {
for (i = 1; i < n; i++) {
uint32_t u;
uid_t uid;
for (i = 1; i < n; i++) {
uint32_t u;
uid_t uid;
+ DBusMessage *reply;
m = dbus_message_new_method_call(
"org.freedesktop.login1",
m = dbus_message_new_method_call(
"org.freedesktop.login1",
@@
-1394,16
+1392,13
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
}
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
dbus_error_free(&error);
return ret;
}
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1417,6
+1412,7
@@
static int kill_user(DBusConnection *bus, char **args, unsigned n) {
arg_kill_who = "all";
for (i = 1; i < n; i++) {
arg_kill_who = "all";
for (i = 1; i < n; i++) {
+ DBusMessage *reply;
uid_t uid;
uint32_t u;
uid_t uid;
uint32_t u;
@@
-1465,16
+1461,13
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
}
static int attach(DBusConnection *bus, char **args, unsigned n) {
dbus_error_free(&error);
return ret;
}
static int attach(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1486,6
+1479,8
@@
static int attach(DBusConnection *bus, char **args, unsigned n) {
dbus_error_init(&error);
for (i = 2; i < n; i++) {
dbus_error_init(&error);
for (i = 2; i < n; i++) {
+ DBusMessage *reply;
+
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
@@
-1523,9
+1518,6
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
dbus_error_free(&error);
return ret;
@@
-1581,7
+1573,7
@@
finish:
}
static int terminate_seat(DBusConnection *bus, char **args, unsigned n) {
}
static int terminate_seat(DBusConnection *bus, char **args, unsigned n) {
- DBusMessage *m = NULL
, *reply = NULL
;
+ DBusMessage *m = NULL;
int ret = 0;
DBusError error;
unsigned i;
int ret = 0;
DBusError error;
unsigned i;
@@
-1592,6
+1584,8
@@
static int terminate_seat(DBusConnection *bus, char **args, unsigned n) {
dbus_error_init(&error);
for (i = 1; i < n; i++) {
dbus_error_init(&error);
for (i = 1; i < n; i++) {
+ DBusMessage *reply;
+
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
m = dbus_message_new_method_call(
"org.freedesktop.login1",
"/org/freedesktop/login1",
@@
-1627,9
+1621,6
@@
finish:
if (m)
dbus_message_unref(m);
if (m)
dbus_message_unref(m);
- if (reply)
- dbus_message_unref(reply);
-
dbus_error_free(&error);
return ret;
dbus_error_free(&error);
return ret;