From 47a81ba2e101058459328d2da3d9b950a8030c86 Mon Sep 17 00:00:00 2001 From: Umut Tezduyar Date: Thu, 7 Feb 2013 09:06:20 +0100 Subject: [PATCH] core: do not overwrite existing units source Only set source for freshly created .mounts coming from mountinfo file. --- src/core/mount.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/core/mount.c b/src/core/mount.c index 2aaf78cea..e3d298eb9 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -1440,7 +1440,7 @@ static int mount_add_one( int r; Unit *u; bool delete; - char *e, *w = NULL, *o = NULL, *s = NULL, *f = NULL; + char *e, *w = NULL, *o = NULL, *f = NULL; MountParameters *p; bool load_extras = false; @@ -1488,6 +1488,12 @@ static int mount_add_one( goto fail; } + u->source_path = strdup("/proc/self/mountinfo"); + if (!u->source_path) { + r = -ENOMEM; + goto fail; + } + unit_add_to_load_queue(u); } else { delete = false; @@ -1513,7 +1519,6 @@ static int mount_add_one( if (!(w = strdup(what)) || !(o = strdup(options)) || - !(s = strdup("/proc/self/mountinfo")) || !(f = strdup(fstype))) { r = -ENOMEM; goto fail; @@ -1527,8 +1532,6 @@ static int mount_add_one( } MOUNT(u)->from_proc_self_mountinfo = true; - free(u->source_path); - u->source_path = s; free(p->what); p->what = w; @@ -1554,7 +1557,6 @@ static int mount_add_one( fail: free(w); free(o); - free(s); free(f); if (delete && u) -- 2.30.2