readlink: realpath requires PATH_MAX, bb_common_bufsiz1 can be too small

umount: don't actually need char[2 * PATH_MAX] for realpath
This commit is contained in:
Denis Vlasenko 2007-11-10 01:31:19 +00:00
parent d031b203c7
commit b4f608d8e0
2 changed files with 4 additions and 4 deletions

View File

@ -8,7 +8,6 @@
*/
#include <getopt.h>
#include "libbb.h"
int readlink_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
@ -16,6 +15,7 @@ int readlink_main(int argc, char **argv)
{
char *buf;
char *fname;
char pathbuf[PATH_MAX];
USE_FEATURE_READLINK_FOLLOW(
unsigned opt;
@ -34,7 +34,7 @@ int readlink_main(int argc, char **argv)
logmode = LOGMODE_NONE;
if (opt) {
buf = realpath(fname, bb_common_bufsiz1);
buf = realpath(fname, pathbuf);
} else {
buf = xmalloc_readlink_or_warn(fname);
}

View File

@ -25,7 +25,7 @@ int umount_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int umount_main(int argc, char **argv)
{
int doForce;
char path[2*PATH_MAX];
char path[PATH_MAX + 2];
struct mntent me;
FILE *fp;
char *fstype = 0;
@ -89,7 +89,7 @@ int umount_main(int argc, char **argv)
// Do we already know what to umount this time through the loop?
if (m)
safe_strncpy(path, m->dir, PATH_MAX);
safe_strncpy(path, m->dir, sizeof(path));
// For umount -a, end of mtab means time to exit.
else if (opt & OPT_ALL)
break;