diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-10 01:45:03 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-11-10 01:45:03 +0000 |
commit | 5cc6459c46a935dc54f28f85abd2797b4bcc2559 (patch) | |
tree | 1071ce8952c7dcf22a670672f72c78b3fbae1ffc | |
parent | 73cb1fdfea01a5b16d906285275fa3805cac01a3 (diff) | |
download | busybox-w32-5cc6459c46a935dc54f28f85abd2797b4bcc2559.tar.gz busybox-w32-5cc6459c46a935dc54f28f85abd2797b4bcc2559.tar.bz2 busybox-w32-5cc6459c46a935dc54f28f85abd2797b4bcc2559.zip |
umount: stop using excessive aounts of stack. Surprisingly,
code shrank a lot too
function old new delta
umount_main 751 640 -111
-rw-r--r-- | util-linux/umount.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/util-linux/umount.c b/util-linux/umount.c index 7c1b81347..a9d60fc29 100644 --- a/util-linux/umount.c +++ b/util-linux/umount.c | |||
@@ -25,7 +25,7 @@ int umount_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | |||
25 | int umount_main(int argc, char **argv) | 25 | int umount_main(int argc, char **argv) |
26 | { | 26 | { |
27 | int doForce; | 27 | int doForce; |
28 | char path[PATH_MAX + 2]; | 28 | char *const path = xmalloc(PATH_MAX + 2); /* to save stack */ |
29 | struct mntent me; | 29 | struct mntent me; |
30 | FILE *fp; | 30 | FILE *fp; |
31 | char *fstype = 0; | 31 | char *fstype = 0; |
@@ -155,6 +155,7 @@ int umount_main(int argc, char **argv) | |||
155 | free(mtl); | 155 | free(mtl); |
156 | mtl = m; | 156 | mtl = m; |
157 | } | 157 | } |
158 | free(path); | ||
158 | } | 159 | } |
159 | 160 | ||
160 | return status; | 161 | return status; |