From: Lennart Poettering Date: Mon, 25 Mar 2013 17:18:57 +0000 (+0100) Subject: fstab-generator: add missing OOM check X-Git-Tag: v199~36 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=df3e57f542cf680cd891dfbd85615885b54770dc fstab-generator: add missing OOM check --- diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c index d5f9db49c..a0a87a15f 100644 --- a/src/fstab-generator/fstab-generator.c +++ b/src/fstab-generator/fstab-generator.c @@ -389,13 +389,15 @@ static int add_mount(const char *what, const char *where, const char *type, cons } static int parse_fstab(const char *prefix, bool initrd) { - FILE *f; _cleanup_free_ char *fstab_path = NULL; + FILE *f; int r = 0; struct mntent *me; - errno = 0; - fstab_path = strjoin(prefix, "/etc/fstab", NULL); + fstab_path = strjoin(strempty(prefix), "/etc/fstab", NULL); + if (!fstab_path) + return log_oom(); + f = setmntent(fstab_path, "r"); if (!f) { if (errno == ENOENT) @@ -614,7 +616,7 @@ int main(int argc, char *argv[]) { if (!arg_enabled) return (r < 0) ? EXIT_FAILURE : EXIT_SUCCESS; - k = parse_fstab("", false); + k = parse_fstab(NULL, false); if (in_initrd()) l = parse_fstab("/sysroot", true);