X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Ffstab-generator%2Ffstab-generator.c;h=910bbc1df729aef2159e242f04123cdd6bf20a97;hb=5c1c14b3a021fbf91f31018256b0c241ea1fe3f0;hp=1a1fe8605f69a573a60e440351f1ace267bf05ae;hpb=3d22d1ab57bf44c92e4d9ca95d9728105dd3fb0d;p=elogind.git diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index 1a1fe8605..910bbc1df 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -502,18 +502,21 @@ static int parse_new_root_from_proc_cmdline(void) { free(word); } - if (what) { + if (!what) { + log_error("Could not find a root= entry on the kernel commandline."); + return 0; + } - log_debug("Found entry what=%s where=/sysroot type=%s", what, type); - r = add_mount(what, "/sysroot", type, opts, 0, false, false, false, - false, false, "/proc/cmdline"); + if (what[0] != '/') { + log_debug("Skipping entry what=%s where=/sysroot type=%s", what, type); + return 0; + } - if (r < 0) - return r; - } else - log_error("Could not find a root= entry on the kernel commandline."); + log_debug("Found entry what=%s where=/sysroot type=%s", what, type); + r = add_mount(what, "/sysroot", type, opts, 0, false, false, false, + false, false, "/proc/cmdline"); - return 0; + return (r < 0) ? r : 0; } static int parse_proc_cmdline(void) {