From: Matt Kraai Date: Wed, 2 May 2001 21:24:51 +0000 (-0000) Subject: Canonicalize path before trying to unmount it. X-Git-Tag: 0_52~248 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=adcbc12d85b91929b73f3897bff7d1559aa39c51;p=oweals%2Fbusybox.git Canonicalize path before trying to unmount it. --- diff --git a/umount.c b/umount.c index 3e23b9705..0eade5a36 100644 --- a/umount.c +++ b/umount.c @@ -22,6 +22,7 @@ * */ +#include #include #include #include @@ -236,6 +237,8 @@ static int umount_all(void) extern int umount_main(int argc, char **argv) { + char path[PATH_MAX]; + if (argc < 2) { show_usage(); } @@ -282,7 +285,9 @@ extern int umount_main(int argc, char **argv) else return EXIT_FAILURE; } - if (do_umount(*argv) == TRUE) + if (realpath(*argv, path) == NULL) + perror_msg_and_die("%s", path); + if (do_umount(path) == TRUE) return EXIT_SUCCESS; perror_msg_and_die("%s", *argv); } diff --git a/util-linux/umount.c b/util-linux/umount.c index 3e23b9705..0eade5a36 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c @@ -22,6 +22,7 @@ * */ +#include #include #include #include @@ -236,6 +237,8 @@ static int umount_all(void) extern int umount_main(int argc, char **argv) { + char path[PATH_MAX]; + if (argc < 2) { show_usage(); } @@ -282,7 +285,9 @@ extern int umount_main(int argc, char **argv) else return EXIT_FAILURE; } - if (do_umount(*argv) == TRUE) + if (realpath(*argv, path) == NULL) + perror_msg_and_die("%s", path); + if (do_umount(path) == TRUE) return EXIT_SUCCESS; perror_msg_and_die("%s", *argv); }