chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lookup: always also look into /usr/lib for units
[elogind.git]
/
src
/
dbus-manager.c
diff --git
a/src/dbus-manager.c
b/src/dbus-manager.c
index c21cb5f5766c46908057971369d14c062d4eefd7..2f755bcc64dff28889710d26376af37c79a4f499 100644
(file)
--- a/
src/dbus-manager.c
+++ b/
src/dbus-manager.c
@@
-20,6
+20,7
@@
***/
#include <errno.h>
***/
#include <errno.h>
+#include <unistd.h>
#include "dbus.h"
#include "log.h"
#include "dbus.h"
#include "log.h"
@@
-223,17
+224,18
@@
static int bus_manager_append_tainted(Manager *m, DBusMessageIter *i, const char
assert(i);
assert(property);
assert(i);
assert(property);
- if (
dir_is_empty("/usr") > 0
)
- e = stpcpy(e, "usr-separate-fs");
+ if (
m->taint_usr
)
+ e = stpcpy(e, "usr-separate-fs
");
- if (readlink_malloc("/etc/mtab", &p) < 0) {
- if (e != buf)
- e = stpcpy(e, " ");
- e = stpcpy(e, "etc-mtab-not-symlink");
- } else
+ if (readlink_malloc("/etc/mtab", &p) < 0)
+ e = stpcpy(e, "etc-mtab-not-symlink ");
+ else
free(p);
free(p);
- t = buf;
+ if (access("/proc/cgroups", F_OK) < 0)
+ e = stpcpy(e, "cgroups-missing ");
+
+ t = strstrip(buf);
if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t))
return -ENOMEM;
if (!dbus_message_iter_append_basic(i, DBUS_TYPE_STRING, &t))
return -ENOMEM;
@@
-1018,8
+1020,10
@@
static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
if (!e)
goto oom;
if (!e)
goto oom;
- if (!(reply = dbus_message_new_method_return(message)))
+ if (!(reply = dbus_message_new_method_return(message))) {
+ strv_free(e);
goto oom;
goto oom;
+ }
strv_free(m->environment);
m->environment = e;
strv_free(m->environment);
m->environment = e;
@@
-1106,8
+1110,6
@@
static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
goto oom;
}
goto oom;
}
- free(path);
-
if (reply) {
if (!dbus_connection_send(connection, reply, NULL))
goto oom;
if (reply) {
if (!dbus_connection_send(connection, reply, NULL))
goto oom;
@@
-1115,6
+1117,8
@@
static DBusHandlerResult bus_manager_message_handler(DBusConnection *connection,
dbus_message_unref(reply);
}
dbus_message_unref(reply);
}
+ free(path);
+
return DBUS_HANDLER_RESULT_HANDLED;
oom:
return DBUS_HANDLER_RESULT_HANDLED;
oom: