diff options
-rw-r--r-- | src/core/service.c | 1 | ||||
-rw-r--r-- | src/core/unit.c | 10 | ||||
-rw-r--r-- | src/shared/conf-parser.c | 2 | ||||
-rw-r--r-- | src/shared/util.c | 2 |
4 files changed, 9 insertions, 6 deletions
diff --git a/src/core/service.c b/src/core/service.c index 7b5ff6d1ac..5f7ddfaf14 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -932,7 +932,6 @@ static int service_load_sysv_path(Service *s, const char *path) { s->timeout_stop_usec = DEFAULT_SYSV_TIMEOUT_USEC; } - /* Special setting for all SysV services */ s->type = SERVICE_FORKING; s->remain_after_exit = !s->pid_file; diff --git a/src/core/unit.c b/src/core/unit.c index 3950c43f5e..be0d654bbc 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -2675,16 +2675,18 @@ int unit_add_node_link(Unit *u, const char *what, bool wants) { r = manager_load_unit(u->manager, e, NULL, NULL, &device); free(e); - if (r < 0) return r; - if ((r = unit_add_two_dependencies(u, UNIT_AFTER, UNIT_BINDS_TO, device, true)) < 0) + r = unit_add_two_dependencies(u, UNIT_AFTER, UNIT_BINDS_TO, device, true); + if (r < 0) return r; - if (wants) - if ((r = unit_add_dependency(device, UNIT_WANTS, u, false)) < 0) + if (wants) { + r = unit_add_dependency(device, UNIT_WANTS, u, false); + if (r < 0) return r; + } return 0; } diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c index 68ab80470e..4bf3147f2d 100644 --- a/src/shared/conf-parser.c +++ b/src/shared/conf-parser.c @@ -593,7 +593,7 @@ int config_parse_string( assert(rvalue); assert(data); - n = cunescape(rvalue); + n = strdup(rvalue); if (!n) return -ENOMEM; diff --git a/src/shared/util.c b/src/shared/util.c index 84f8565e0c..20e5faf34b 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -4097,6 +4097,8 @@ static char *tag_to_udev_node(const char *tagvalue, const char *by) { } char *fstab_node_to_udev_node(const char *p) { + assert(p); + if (startswith(p, "LABEL=")) return tag_to_udev_node(p+6, "label"); |