diff options
author | Theodore Ts'o <tytso@mit.edu> | 2007-12-16 15:41:15 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2007-12-16 15:41:15 -0500 |
commit | 5221837e62641958f237e7fb5dee999cbfc850c9 (patch) | |
tree | 2984b3638e7daa7a8ec94d9f8d0d145d2e5fc208 /misc | |
parent | f8efcda2db612f6b6d33dc1a6ff78a1c048608f4 (diff) | |
download | e2fsprogs-5221837e62641958f237e7fb5dee999cbfc850c9.tar.gz |
fsck: '#' is only a comment character at the beginning of an fstab line
Fuse and ssh fstab lines such as:
wdfs#https://dav.hoster.com/foo/bar /mnt/hoster fuse user,noauto 0 0
will cause fsck to issue warnings about invalid fstab lines, because
fsck was previously treating '#' as a comment when it appeared
anywhere in an fstab line, not just at the beginning of the line.
Addresses-Gentoo-bug: #195405
Addresses-Sourceforge-bug: #1826147
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'misc')
-rw-r--r-- | misc/fsck.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/misc/fsck.c b/misc/fsck.c index 108adf66..5cf1a1c8 100644 --- a/misc/fsck.c +++ b/misc/fsck.c @@ -275,20 +275,17 @@ static int parse_fstab_line(char *line, struct fs_info **ret_fs) *ret_fs = 0; strip_line(line); - if ((cp = strchr(line, '#'))) - *cp = 0; /* Ignore everything after the comment char */ cp = line; device = parse_word(&cp); + if (!device || *device == '#') + return 0; /* Ignore blank lines and comments */ mntpnt = parse_word(&cp); type = parse_word(&cp); opts = parse_word(&cp); freq = parse_word(&cp); passno = parse_word(&cp); - if (!device) - return 0; /* Allow blank lines */ - if (!mntpnt || !type) return -1; |