summaryrefslogtreecommitdiff
path: root/mount.c
diff options
context:
space:
mode:
authorEric Andersen2001-05-15 17:42:16 +0000
committerEric Andersen2001-05-15 17:42:16 +0000
commitc911a4389bbaa5ac85d725c8c05e452dfba8583d (patch)
treea0f435a6239c002578db8f019eb0fb427f1795b3 /mount.c
parent15649c11f3568ed6f030953844f201438379e03c (diff)
downloadbusybox-c911a4389bbaa5ac85d725c8c05e452dfba8583d.zip
busybox-c911a4389bbaa5ac85d725c8c05e452dfba8583d.tar.gz
Patch from Vladimir:
1) fixed a bug that could crash df, mount, and umount applets if the root device name was longer then the word "root" (/dev/loop1 vs /dev/root) - 2) severl functions needed static declaration in the umount applet 3) update declaration for function in last_char_is() in libbb
Diffstat (limited to 'mount.c')
-rw-r--r--mount.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mount.c b/mount.c
index 0295fab..4e0e3e4 100644
--- a/mount.c
+++ b/mount.c
@@ -319,10 +319,14 @@ void show_mounts()
while ((m = getmntent(mountTable)) != 0) {
char *blockDevice = m->mnt_fsname;
if (strcmp(blockDevice, "/dev/root") == 0) {
- find_real_root_device_name( blockDevice);
+ blockDevice = find_real_root_device_name(blockDevice);
}
printf("%s on %s type %s (%s)\n", blockDevice, m->mnt_dir,
m->mnt_type, m->mnt_opts);
+#ifdef BB_FEATURE_CLEAN_UP
+ if(blockDevice != m->mnt_fsname)
+ free(blockDevice);
+#endif
}
endmntent(mountTable);
} else {