From b2c92b88cc6ce6d81444667efbc6d44542db1788 Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Tue, 7 Jun 2016 04:31:48 -0500 Subject: [PATCH] fstabinfo/mountinfo: ensure /etc/fstab exists before calling setmntent This is based on a patch by A. Wilcox . X-Gentoo-Bug: 478226 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=478226 X-Gentoo-Bug: 478226 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=478226 --- src/rc/fstabinfo.c | 3 +++ src/rc/mountinfo.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/rc/fstabinfo.c b/src/rc/fstabinfo.c index bd2372d6..75c8bc2b 100644 --- a/src/rc/fstabinfo.c +++ b/src/rc/fstabinfo.c @@ -178,6 +178,9 @@ int main(int argc, char **argv) FILE *fp; #endif + /* fail if there is no /etc/fstab */ + if (!exists("/etc/fstab")) + eerrorx("/etc/fstab does not exist"); /* Ensure that we are only quiet when explicitly told to be */ unsetenv("EINFO_QUIET"); diff --git a/src/rc/mountinfo.c b/src/rc/mountinfo.c index 10e3238d..29eb1600 100644 --- a/src/rc/mountinfo.c +++ b/src/rc/mountinfo.c @@ -297,6 +297,9 @@ getmntfile(const char *file) struct mntent *ent = NULL; FILE *fp; + if (!exists("/etc/fstab")) + return NULL; + fp = setmntent("/etc/fstab", "r"); while ((ent = getmntent(fp))) if (strcmp(file, ent->mnt_dir) == 0)