X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fload-fragment.c;h=6839da8817b5b78d6d2a2a34d3f2de2ec565286b;hp=2a21727c6c89ad0387a3c9bf69f1d0e7ec70dc80;hb=543295ad369793bdac510c6c3bf4afae8f1cdab5;hpb=e8e581bf256b8c0fbd430935af79fa0e8ee570a1 diff --git a/src/core/load-fragment.c b/src/core/load-fragment.c index 2a21727c6..6839da881 100644 --- a/src/core/load-fragment.c +++ b/src/core/load-fragment.c @@ -1314,7 +1314,7 @@ int config_parse_path_spec(const char *unit, Path *p = data; PathSpec *s; PathType b; - char *k; + char _cleanup_free_ *k = NULL; assert(filename); assert(lvalue); @@ -1348,17 +1348,15 @@ int config_parse_path_spec(const char *unit, if (!path_is_absolute(k)) { log_syntax(unit, LOG_ERR, filename, line, EINVAL, "Path is not absolute, ignoring: %s", k); - free(k); return 0; } s = new0(PathSpec, 1); - if (!s) { - free(k); + if (!s) return log_oom(); - } s->path = path_kill_slashes(k); + k = NULL; s->type = b; s->inotify_fd = -1;