]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
nspawn: avoid one strdup by using free_and_replace
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 7 Nov 2016 13:54:47 +0000 (08:54 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 7 Nov 2016 13:54:47 +0000 (08:54 -0500)
src/core/namespace.c

index 2dae579332d28b589c39e307a4b00f6535d2d5ed..c719dc13e7f328d94211580e958d65e3b63315b0 100644 (file)
@@ -678,8 +678,9 @@ static int chase_all_symlinks(const char *root_directory, BindMount *m, unsigned
          * chase the symlinks on our own first. This call wil do so for all entries and remove all entries where we
          * can't resolve the path, and which have been marked for such removal. */
 
-        for (f = m, t = m; f < m+*n; f++) {
+        for (f = m, t = m; f < m + *n; f++) {
                 _cleanup_free_ char *chased = NULL;
+
                 r = chase_symlinks(f->path, root_directory, &chased);
                 if (r == -ENOENT && f->ignore) {
                         /* Doesn't exist? Then remove it! */
@@ -691,7 +692,7 @@ static int chase_all_symlinks(const char *root_directory, BindMount *m, unsigned
 
                 if (!path_equal(f->path, chased)) {
                         log_debug("Chased %s → %s", f->path, chased);
-                        r = free_and_strdup(&f->path, chased);
+                        r = free_and_replace(f->path, chased);
                         if (r < 0)
                                 return r;
                 }