File 0002-core-OOM-really-shouldn-t-be-considered-a-deserializ.patch of Package systemd.1472

Based on 230314d718cb68b328961c9723976e54c17d06f7 Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Tue, 2 Dec 2014 00:15:13 +0100
Subject: [PATCH] core: OOM really shouldn't be considered a deserialization
 parse failure

---
 src/core/dbus.c    |    9 +++++++--
 src/core/manager.c |   11 +++++++++--
 2 files changed, 16 insertions(+), 4 deletions(-)

--- src/core/dbus.c
+++ src/core/dbus.c	2015-06-17 00:00:00.000000000 +0000
@@ -1164,15 +1164,20 @@ void bus_track_serialize(sd_bus_track *t
 
 int bus_track_deserialize_item(char ***l, const char *line) {
         const char *e;
+        int r;
 
         assert(l);
         assert(line);
 
         e = startswith(line, "subscribed=");
         if (!e)
-                return -EINVAL;
+                return 0;
 
-        return strv_extend(l, e);
+        r = strv_extend(l, e);
+        if (r < 0)
+                return r;
+
+        return 1;
 }
 
 int bus_track_coldplug(Manager *m, sd_bus_track **t, char ***l) {
--- src/core/manager.c
+++ src/core/manager.c	2015-06-17 00:00:00.000000000 +0000
@@ -2549,8 +2549,15 @@ 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_warning("Unknown serialization item '%s'", l);
+                } else {
+                        int k;
+
+                        k = bus_track_deserialize_item(&m->deserialized_subscribed, l);
+                        if (k < 0)
+                                log_debug("Failed to deserialize bus tracker object: %s", strerror(-k));
+                        else if (k == 0)
+                                log_debug("Unknown serialization item '%s'", l);
+                }
         }
 
         for (;;) {
openSUSE Build Service is sponsored by