From: Karel Zak Date: Tue, 17 Jan 2012 16:28:46 +0000 (+0100) Subject: fsck: make fs->type usage more robust [smatch scan] X-Git-Tag: v2.21-rc1~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3d4820f4d1cac4dc87b9d9e197d8f889c1997376;p=thirdparty%2Futil-linux.git fsck: make fs->type usage more robust [smatch scan] Signed-off-by: Karel Zak --- 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) {