diff --git a/config/nsinstall.c b/config/nsinstall.c index 6521a650bb55..360141ee7dc9 100644 --- a/config/nsinstall.c +++ b/config/nsinstall.c @@ -247,7 +247,12 @@ main(int argc, char **argv) if (!cwd) { #ifndef NEEDS_GETCWD +#ifndef GETCWD_CANT_MALLOC cwd = getcwd(0, PATH_MAX); +#else + cwd = malloc(PATH_MAX + 1); + cwd = getcwd(cwd, PATH_MAX); +#endif #else cwd = malloc(PATH_MAX + 1); cwd = getwd(cwd); @@ -256,7 +261,12 @@ main(int argc, char **argv) xchdir(todir); #ifndef NEEDS_GETCWD +#ifndef GETCWD_CANT_MALLOC todir = getcwd(0, PATH_MAX); +#else + todir = malloc(PATH_MAX + 1); + todir = getcwd(todir, PATH_MAX); +#endif #else todir = malloc(PATH_MAX + 1); todir = getwd(todir);