Hello community,

here is the log from the commit of package systemd for openSUSE:Factory checked 
in at 2019-02-20 14:09:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
 and      /work/SRC/openSUSE:Factory/.systemd.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "systemd"

Wed Feb 20 14:09:03 2019 rev:292 rq:677368 version:239

Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes     2019-01-29 
14:44:39.767095888 +0100
+++ /work/SRC/openSUSE:Factory/.systemd.new.28833/systemd-mini.changes  
2019-02-20 14:09:08.714983072 +0100
@@ -1,0 +2,24 @@
+Tue Feb 19 11:08:13 UTC 2019 - Franck Bui <f...@suse.com>
+
+- Import commit a1d86af7ed49dacef671e8ec8dae9472a8fa47f5
+
+  92d860fc12 sysctl: Don't pass null directive argument to '%s' (bsc#1121563)
+  1379e30d59 Allocate temporary strings to hold dbus paths on the heap 
(bsc#1125352 CVE-2019-6454)
+  b5569a03ae Refuse dbus message paths longer than BUS_PATH_SIZE_MAX limit. 
(bsc#1125352 CVE-2019-6454)
+
+-------------------------------------------------------------------
+Fri Feb 15 09:58:17 UTC 2019 - Franck Bui <f...@suse.com>
+
+- Import commit 01b4746d3c6f6cbf969fa2176c77ac3f616a7eda
+
+  7af53e005b sd-bus: if we receive an invalid dbus message, ignore and proceeed
+  92dcbfdd7f bus: move BUS_DONT_DESTROY calls after asserts
+  a83e7b3b43 automount: don't pass non-blocking pipe to kernel.
+  726127ea1d units: make sure initrd-cleanup.service terminates before 
switching to rootfs (bsc#1123333)
+  a6347a3cb6 core: Fix use after free case in load_from_path() (bsc#1121563)
+  22e2550222 strv: rework FOREACH_STRING() macro (bsc#1121563)
+  2ddd38f41a test,systemctl,nspawn: use "const char*" instead of "char*" as 
iterator for FOREACH_STRING()
+  c2c8333e0b strv: add new macro STARTSWITH_SET()
+  1db243a601 Update systemd-system.conf.xml (bsc#1122000)
+
+-------------------------------------------------------------------
systemd.changes: same change

Old:
----
  systemd-v239+suse.191.gad34cc45f.tar.xz

New:
----
  systemd-v239+suse.205.ga1d86af7e.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.leMukU/_old  2019-02-20 14:09:11.142982267 +0100
+++ /var/tmp/diff_new_pack.leMukU/_new  2019-02-20 14:09:11.154982263 +0100
@@ -26,7 +26,7 @@
 ##### WARNING: please do not edit this auto generated spec file. Use the 
systemd.spec! #####
 %define mini -mini
 %define min_kernel_version 4.5
-%define suse_version +suse.191.gad34cc45f
+%define suse_version +suse.205.ga1d86af7e
 
 %bcond_with     gnuefi
 %if 0%{?bootstrap}

++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.leMukU/_old  2019-02-20 14:09:11.178982255 +0100
+++ /var/tmp/diff_new_pack.leMukU/_new  2019-02-20 14:09:11.178982255 +0100
@@ -24,7 +24,7 @@
 %define bootstrap 0
 %define mini %nil
 %define min_kernel_version 4.5
-%define suse_version +suse.191.gad34cc45f
+%define suse_version +suse.205.ga1d86af7e
 
 %bcond_with     gnuefi
 %if 0%{?bootstrap}

++++++ systemd-v239+suse.191.gad34cc45f.tar.xz -> 
systemd-v239+suse.205.ga1d86af7e.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/man/systemd-system.conf.xml 
new/systemd-v239+suse.205.ga1d86af7e/man/systemd-system.conf.xml
--- old/systemd-v239+suse.191.gad34cc45f/man/systemd-system.conf.xml    
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/man/systemd-system.conf.xml    
2019-02-19 12:07:58.000000000 +0100
@@ -274,7 +274,9 @@
         <varname>TimeoutStopSec=</varname> and
         <varname>RestartSec=</varname> (for services, see
         
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-        for details on the per-unit settings). For non-service units,
+        for details on the per-unit settings). Disabled by default, when
+        service with <varname>Type=oneshot</varname> is used.
+        For non-service units,
         <varname>DefaultTimeoutStartSec=</varname> sets the default
         <varname>TimeoutSec=</varname>
         value. <varname>DefaultTimeoutStartSec=</varname> and
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/systemd-v239+suse.191.gad34cc45f/src/basic/strv.h 
new/systemd-v239+suse.205.ga1d86af7e/src/basic/strv.h
--- old/systemd-v239+suse.191.gad34cc45f/src/basic/strv.h       2019-01-15 
10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/basic/strv.h       2019-02-19 
12:07:58.000000000 +0100
@@ -136,17 +136,22 @@
                 _x && strv_contains(STRV_MAKE(__VA_ARGS__), _x); \
         })
 
-#define FOREACH_STRING(x, ...)                               \
-        for (char **_l = ({                                  \
-                char **_ll = STRV_MAKE(__VA_ARGS__);         \
-                x = _ll ? _ll[0] : NULL;                     \
-                _ll;                                         \
-        });                                                  \
-        _l && *_l;                                           \
-        x = ({                                               \
-                _l ++;                                       \
-                _l[0];                                       \
-        }))
+#define STARTSWITH_SET(p, ...)                                  \
+        ({                                                      \
+                const char *_p = (p);                           \
+                char  *_found = NULL, **_i;                     \
+                STRV_FOREACH(_i, STRV_MAKE(__VA_ARGS__)) {      \
+                        _found = startswith(_p, *_i);           \
+                        if (_found)                             \
+                                break;                          \
+                }                                               \
+                _found;                                         \
+        })
+
+#define FOREACH_STRING(x, y, ...)                                       \
+        for (char **_l = STRV_MAKE(({ x = y; }), ##__VA_ARGS__);        \
+             x;                                                         \
+             x = *(++_l))
 
 char **strv_reverse(char **l);
 char **strv_shell_escape(char **l, const char *bad);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/core/automount.c 
new/systemd-v239+suse.205.ga1d86af7e/src/core/automount.c
--- old/systemd-v239+suse.191.gad34cc45f/src/core/automount.c   2019-01-15 
10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/core/automount.c   2019-02-19 
12:07:58.000000000 +0100
@@ -574,10 +574,13 @@
                 goto fail;
         }
 
-        if (pipe2(p, O_NONBLOCK|O_CLOEXEC) < 0) {
+        if (pipe2(p, O_CLOEXEC) < 0) {
                 r = -errno;
                 goto fail;
         }
+        r = fd_nonblock(p[0], true);
+        if (r < 0)
+                goto fail;
 
         xsprintf(options, "fd=%i,pgrp="PID_FMT",minproto=5,maxproto=5,direct", 
p[1], getpgrp());
         xsprintf(name, "systemd-"PID_FMT, getpid_cached());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/core/load-fragment.c 
new/systemd-v239+suse.205.ga1d86af7e/src/core/load-fragment.c
--- old/systemd-v239+suse.191.gad34cc45f/src/core/load-fragment.c       
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/core/load-fragment.c       
2019-02-19 12:07:58.000000000 +0100
@@ -4290,7 +4290,6 @@
                                 r = open_follow(&filename, &f, symlink_names, 
&id);
                         if (r >= 0)
                                 break;
-                        filename = mfree(filename);
 
                         /* ENOENT means that the file is missing or is a 
dangling symlink.
                          * ENOTDIR means that one of paths we expect to be is 
a directory
@@ -4302,6 +4301,7 @@
                         else if (!IN_SET(r, -ENOENT, -ENOTDIR))
                                 return r;
 
+                        filename = mfree(filename);
                         /* Empty the symlink names for the next run */
                         set_clear_free(symlink_names);
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-internal.c 
new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-internal.c
--- old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-internal.c   
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-internal.c   
2019-02-19 12:07:58.000000000 +0100
@@ -45,7 +45,7 @@
         if (slash)
                 return false;
 
-        return true;
+        return (q - p) <= BUS_PATH_SIZE_MAX;
 }
 
 char* object_path_startswith(const char *a, const char *b) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-internal.h 
new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-internal.h
--- old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-internal.h   
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-internal.h   
2019-02-19 12:07:58.000000000 +0100
@@ -333,6 +333,10 @@
 
 #define BUS_MESSAGE_SIZE_MAX (128*1024*1024)
 #define BUS_AUTH_SIZE_MAX (64*1024)
+/* Note that the D-Bus specification states that bus paths shall have no size 
limit. We enforce here one
+ * anyway, since truly unbounded strings are a security problem. The limit we 
pick is relatively large however,
+ * to not clash unnecessarily with real-life applications. */
+#define BUS_PATH_SIZE_MAX (64*1024)
 
 #define BUS_CONTAINER_DEPTH 128
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-objects.c 
new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-objects.c
--- old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-objects.c    
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-objects.c    
2019-02-19 12:07:58.000000000 +0100
@@ -1134,7 +1134,8 @@
                 const char *path,
                 sd_bus_error *error) {
 
-        char *prefix;
+        _cleanup_free_ char *prefix = NULL;
+        size_t pl;
         int r;
 
         assert(bus);
@@ -1150,7 +1151,12 @@
                 return 0;
 
         /* Second, add fallback vtables registered for any of the prefixes */
-        prefix = alloca(strlen(path) + 1);
+        pl = strlen(path);
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
+
         OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                 r = object_manager_serialize_path(bus, reply, prefix, path, 
true, error);
                 if (r < 0)
@@ -1346,6 +1352,7 @@
 }
 
 int bus_process_object(sd_bus *bus, sd_bus_message *m) {
+        _cleanup_free_ char *prefix = NULL;
         int r;
         size_t pl;
         bool found_object = false;
@@ -1370,9 +1377,12 @@
         assert(m->member);
 
         pl = strlen(m->path);
-        do {
-                char prefix[pl+1];
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
 
+        do {
                 bus->nodes_modified = false;
 
                 r = object_find_and_run(bus, m, m->path, false, &found_object);
@@ -1499,9 +1509,15 @@
 
         n = hashmap_get(bus->nodes, path);
         if (!n) {
-                char *prefix;
+                _cleanup_free_ char *prefix = NULL;
+                size_t pl;
+
+                pl = strlen(path);
+                assert(pl <= BUS_PATH_SIZE_MAX);
+                prefix = new(char, pl + 1);
+                if (!prefix)
+                        return -ENOMEM;
 
-                prefix = alloca(strlen(path) + 1);
                 OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                         n = hashmap_get(bus->nodes, prefix);
                         if (n)
@@ -2090,9 +2106,9 @@
                 const char *interface,
                 char **names) {
 
-        BUS_DONT_DESTROY(bus);
+        _cleanup_free_ char *prefix = NULL;
         bool found_interface = false;
-        char *prefix;
+        size_t pl;
         int r;
 
         assert_return(bus, -EINVAL);
@@ -2111,6 +2127,14 @@
         if (names && names[0] == NULL)
                 return 0;
 
+        BUS_DONT_DESTROY(bus);
+
+        pl = strlen(path);
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
+
         do {
                 bus->nodes_modified = false;
 
@@ -2120,7 +2144,6 @@
                 if (bus->nodes_modified)
                         continue;
 
-                prefix = alloca(strlen(path) + 1);
                 OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                         r = emit_properties_changed_on_interface(bus, prefix, 
path, interface, true, &found_interface, names);
                         if (r != 0)
@@ -2252,7 +2275,8 @@
 
 static int object_added_append_all(sd_bus *bus, sd_bus_message *m, const char 
*path) {
         _cleanup_set_free_ Set *s = NULL;
-        char *prefix;
+        _cleanup_free_ char *prefix = NULL;
+        size_t pl;
         int r;
 
         assert(bus);
@@ -2297,7 +2321,12 @@
         if (bus->nodes_modified)
                 return 0;
 
-        prefix = alloca(strlen(path) + 1);
+        pl = strlen(path);
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
+
         OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                 r = object_added_append_all_prefix(bus, m, s, prefix, path, 
true);
                 if (r < 0)
@@ -2310,8 +2339,6 @@
 }
 
 _public_ int sd_bus_emit_object_added(sd_bus *bus, const char *path) {
-        BUS_DONT_DESTROY(bus);
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
         struct node *object_manager;
         int r;
@@ -2341,6 +2368,8 @@
         if (r == 0)
                 return -ESRCH;
 
+        BUS_DONT_DESTROY(bus);
+
         do {
                 bus->nodes_modified = false;
                 m = sd_bus_message_unref(m);
@@ -2436,7 +2465,8 @@
 
 static int object_removed_append_all(sd_bus *bus, sd_bus_message *m, const 
char *path) {
         _cleanup_set_free_ Set *s = NULL;
-        char *prefix;
+        _cleanup_free_ char *prefix = NULL;
+        size_t pl;
         int r;
 
         assert(bus);
@@ -2468,7 +2498,12 @@
         if (bus->nodes_modified)
                 return 0;
 
-        prefix = alloca(strlen(path) + 1);
+        pl = strlen(path);
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
+
         OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                 r = object_removed_append_all_prefix(bus, m, s, prefix, path, 
true);
                 if (r < 0)
@@ -2481,8 +2516,6 @@
 }
 
 _public_ int sd_bus_emit_object_removed(sd_bus *bus, const char *path) {
-        BUS_DONT_DESTROY(bus);
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
         struct node *object_manager;
         int r;
@@ -2512,6 +2545,8 @@
         if (r == 0)
                 return -ESRCH;
 
+        BUS_DONT_DESTROY(bus);
+
         do {
                 bus->nodes_modified = false;
                 m = sd_bus_message_unref(m);
@@ -2618,7 +2653,8 @@
                 const char *path,
                 const char *interface) {
 
-        char *prefix;
+        _cleanup_free_ char *prefix = NULL;
+        size_t pl;
         int r;
 
         assert(bus);
@@ -2632,7 +2668,12 @@
         if (bus->nodes_modified)
                 return 0;
 
-        prefix = alloca(strlen(path) + 1);
+        pl = strlen(path);
+        assert(pl <= BUS_PATH_SIZE_MAX);
+        prefix = new(char, pl + 1);
+        if (!prefix)
+                return -ENOMEM;
+
         OBJECT_PATH_FOREACH_PREFIX(prefix, path) {
                 r = interfaces_added_append_one_prefix(bus, m, prefix, path, 
interface, true);
                 if (r != 0)
@@ -2645,8 +2686,6 @@
 }
 
 _public_ int sd_bus_emit_interfaces_added_strv(sd_bus *bus, const char *path, 
char **interfaces) {
-        BUS_DONT_DESTROY(bus);
-
         _cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL;
         struct node *object_manager;
         char **i;
@@ -2669,6 +2708,8 @@
         if (r == 0)
                 return -ESRCH;
 
+        BUS_DONT_DESTROY(bus);
+
         do {
                 bus->nodes_modified = false;
                 m = sd_bus_message_unref(m);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-socket.c 
new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-socket.c
--- old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/bus-socket.c     
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/bus-socket.c     
2019-02-19 12:07:58.000000000 +0100
@@ -1078,7 +1078,7 @@
 }
 
 static int bus_socket_make_message(sd_bus *bus, size_t size) {
-        sd_bus_message *t;
+        sd_bus_message *t = NULL;
         void *b;
         int r;
 
@@ -1103,7 +1103,9 @@
                                     bus->fds, bus->n_fds,
                                     NULL,
                                     &t);
-        if (r < 0) {
+        if (r == -EBADMSG)
+                log_debug_errno(r, "Received invalid message from connection 
%s, dropping.", strna(bus->description));
+        else if (r < 0) {
                 free(b);
                 return r;
         }
@@ -1114,7 +1116,8 @@
         bus->fds = NULL;
         bus->n_fds = 0;
 
-        bus->rqueue[bus->rqueue_size++] = t;
+        if (t)
+                bus->rqueue[bus->rqueue_size++] = t;
 
         return 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/sd-bus.c 
new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/sd-bus.c
--- old/systemd-v239+suse.191.gad34cc45f/src/libsystemd/sd-bus/sd-bus.c 
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/libsystemd/sd-bus/sd-bus.c 
2019-02-19 12:07:58.000000000 +0100
@@ -2883,7 +2883,6 @@
 }
 
 static int bus_process_internal(sd_bus *bus, bool hint_priority, int64_t 
priority, sd_bus_message **ret) {
-        BUS_DONT_DESTROY(bus);
         int r;
 
         /* Returns 0 when we didn't do anything. This should cause the
@@ -2899,6 +2898,8 @@
         assert_return(!bus->current_message, -EBUSY);
         assert(!bus->current_slot);
 
+        BUS_DONT_DESTROY(bus);
+
         switch (bus->state) {
 
         case BUS_UNSET:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/systemd-v239+suse.191.gad34cc45f/src/sysctl/sysctl.c 
new/systemd-v239+suse.205.ga1d86af7e/src/sysctl/sysctl.c
--- old/systemd-v239+suse.191.gad34cc45f/src/sysctl/sysctl.c    2019-01-15 
10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/sysctl/sysctl.c    2019-02-19 
12:07:58.000000000 +0100
@@ -112,7 +112,7 @@
 
                 value = strchr(p, '=');
                 if (!value) {
-                        log_error("Line is not an assignment at '%s:%u': %s", 
path, c, value);
+                        log_error("Line is not an assignment at '%s:%u': %s", 
path, c, p);
 
                         if (r == 0)
                                 r = -EINVAL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/systemctl/systemctl.c 
new/systemd-v239+suse.205.ga1d86af7e/src/systemctl/systemctl.c
--- old/systemd-v239+suse.191.gad34cc45f/src/systemctl/systemctl.c      
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/systemctl/systemctl.c      
2019-02-19 12:07:58.000000000 +0100
@@ -6768,9 +6768,9 @@
         if (r < 0)
                 return r;
         if (r == 0) {
-                const char **args;
+                const char **args, *p;
                 char *editor, **editor_args = NULL;
-                char **tmp_path, **original_path, *p;
+                char **tmp_path, **original_path;
                 size_t n_editor_args = 0, i = 1;
                 size_t argc;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/test/test-execute.c 
new/systemd-v239+suse.205.ga1d86af7e/src/test/test-execute.c
--- old/systemd-v239+suse.191.gad34cc45f/src/test/test-execute.c        
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/test/test-execute.c        
2019-02-19 12:07:58.000000000 +0100
@@ -106,7 +106,7 @@
 }
 
 static bool is_inaccessible_available(void) {
-        char *p;
+        const char *p;
 
         FOREACH_STRING(p,
                 "/run/systemd/inaccessible/reg",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/src/test/test-strv.c 
new/systemd-v239+suse.205.ga1d86af7e/src/test/test-strv.c
--- old/systemd-v239+suse.191.gad34cc45f/src/test/test-strv.c   2019-01-15 
10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/src/test/test-strv.c   2019-02-19 
12:07:58.000000000 +0100
@@ -56,6 +56,20 @@
         assert_se(!STRPTR_IN_SET(NULL, NULL));
 }
 
+static void test_startswith_set(void) {
+        assert_se(!STARTSWITH_SET("foo", "bar", "baz", "waldo"));
+        assert_se(!STARTSWITH_SET("foo", "bar"));
+
+        assert_se(STARTSWITH_SET("abc", "a", "ab", "abc"));
+        assert_se(STARTSWITH_SET("abc", "ax", "ab", "abc"));
+        assert_se(STARTSWITH_SET("abc", "ax", "abx", "abc"));
+        assert_se(!STARTSWITH_SET("abc", "ax", "abx", "abcx"));
+
+        assert_se(streq_ptr(STARTSWITH_SET("foobar", "hhh", "kkk", "foo", 
"zzz"), "bar"));
+        assert_se(streq_ptr(STARTSWITH_SET("foobar", "hhh", "kkk", "", "zzz"), 
"foobar"));
+        assert_se(streq_ptr(STARTSWITH_SET("", "hhh", "kkk", "zzz", ""), ""));
+}
+
 static const char* const input_table_multiple[] = {
         "one",
         "two",
@@ -700,6 +714,7 @@
         test_specifier_printf();
         test_str_in_set();
         test_strptr_in_set();
+        test_startswith_set();
         test_strv_foreach();
         test_strv_foreach_backwards();
         test_strv_foreach_pair();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/systemd-v239+suse.191.gad34cc45f/units/initrd-switch-root.target 
new/systemd-v239+suse.205.ga1d86af7e/units/initrd-switch-root.target
--- old/systemd-v239+suse.191.gad34cc45f/units/initrd-switch-root.target        
2019-01-15 10:04:30.000000000 +0100
+++ new/systemd-v239+suse.205.ga1d86af7e/units/initrd-switch-root.target        
2019-02-19 12:07:58.000000000 +0100
@@ -15,4 +15,4 @@
 Before=initrd-switch-root.service
 AllowIsolate=yes
 Wants=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target 
systemd-journald.service initrd-cleanup.service
-After=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target 
emergency.service emergency.target
+After=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target 
emergency.service emergency.target initrd-cleanup.service


Reply via email to