File 0001-dbus-return-non-zero-return-value-in-the-case-that-p.patch of Package systemd.1472
Based on f44b9efcec4594eb8f843325ee3079b44fb8f24a Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Thu, 20 Nov 2014 16:06:18 +0100
Subject: [PATCH] dbus: return non-zero return value in the case that prefix
won't match
strv_extend returns 0 in the case of success which means that
else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) == 0)
log_warning("Unknown serialization item '%s'", l);
will be printed when value is added correctly.
---
src/core/dbus.c | 2 +-
src/core/manager.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
--- src/core/dbus.c
+++ src/core/dbus.c 2015-06-17 00:00:00.000000000 +0000
@@ -1170,7 +1170,7 @@ int bus_track_deserialize_item(char ***l
e = startswith(line, "subscribed=");
if (!e)
- return 0;
+ return -EINVAL;
return strv_extend(l, e);
}
--- src/core/manager.c
+++ src/core/manager.c 2015-06-17 08:44:45.429518673 +0000
@@ -2549,8 +2549,8 @@ int manager_deserialize(Manager *m, FILE
m->kdbus_fd = fdset_remove(fds, fd);
}
- } else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) == 0)
- log_debug("Unknown serialization item '%s'", l);
+ } else if (bus_track_deserialize_item(&m->deserialized_subscribed, l) < 0)
+ log_warning("Unknown serialization item '%s'", l);
}
for (;;) {