summaryrefslogtreecommitdiff
path: root/misc/fsck.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2001-05-21 01:41:37 +0000
committerTheodore Ts'o <tytso@mit.edu>2001-05-21 01:41:37 +0000
commit9164b862ff73810e045c7499a15f87ca1b578cfb (patch)
treef12508e60d32be5c2ad8adafe2cf0d9e4d05b3cd /misc/fsck.c
parent07025aea9b4879e7771f94c8e1e6551023d4bf4f (diff)
downloade2fsprogs-9164b862ff73810e045c7499a15f87ca1b578cfb.tar.gz
ChangeLog, fsck.c:
fsck.c (device_already_active): Fix bug in device_already_active which could cause infinite loops if we don't know the base_device of the filesystem.
Diffstat (limited to 'misc/fsck.c')
-rw-r--r--misc/fsck.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/misc/fsck.c b/misc/fsck.c
index e06d7198..4a09c9c3 100644
--- a/misc/fsck.c
+++ b/misc/fsck.c
@@ -698,8 +698,12 @@ static int device_already_active(char *device)
#endif
base = base_device(device);
- if (!base)
- return 1;
+ /*
+ * If we don't know the base device, assume that the device is
+ * already active if there are any fsck instances running.
+ */
+ if (!base)
+ return (instance_list != 0);
for (inst = instance_list; inst; inst = inst->next) {
if (!strcmp(base, inst->base_device)) {
free(base);