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:
parent
d031b203c7
commit
b4f608d8e0
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user