From 3d4820f4d1cac4dc87b9d9e197d8f889c1997376 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 17 Jan 2012 17:28:46 +0100 Subject: [PATCH] fsck: make fs->type usage more robust [smatch scan] Signed-off-by: Karel Zak --- fsck/fsck.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fsck/fsck.c b/fsck/fsck.c index 8ac43bea42..7eb5f0203d 100644 --- a/fsck/fsck.c +++ b/fsck/fsck.c @@ -421,7 +421,7 @@ static void interpret_type(struct fs_info *fs) { char *t; - if (strcmp(fs->type, "auto") != 0) + if (fs->type && strcmp(fs->type, "auto") != 0) return; t = fsprobe_get_fstype_by_devname(fs->device); if (t) { @@ -1030,12 +1030,16 @@ static int ignore(struct fs_info *fs) * If a specific fstype is specified, and it doesn't match, * ignore it. */ - if (!fs_match(fs, &fs_type_compiled)) return 1; + if (!fs_match(fs, &fs_type_compiled)) + return 1; /* Are we ignoring this type? */ if (fs->type && ignored_type(fs->type)) return 1; + if (!fs->type) + return 0; /* should not happen */ + /* Do we really really want to check this fs? */ for(ip = really_wanted; *ip; ip++) if (strcmp(fs->type, *ip) == 0) { -- 2.47.3