X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmount.c;h=e3d298eb961a448ce13189d87615af99f861d5e6;hb=47a81ba2e101058459328d2da3d9b950a8030c86;hp=2aaf78ceae91b631ac3197dcd3fa7db1f4a60143;hpb=f6bb13ab8db51aaedc825fec2f0458b60309b27a;p=elogind.git 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)