[klibc] [PATCH] dash: cd fix getpwd
y at dual.stro.at
y at dual.stro.at
Thu Apr 1 22:26:26 PDT 2010
From: maximilian attems <max at stro.at>
On review of klibc dash changes:
"Hmm, this breaks the non-glibc case. You're now returning a pointer to a
string on the stack which is illegal." Herbert Xu
Use upstream dash way.
Signed-off-by: maximilian attems <max at stro.at>
Cc: Herbert Xu <herbert at gondor.apana.org.au>
---
usr/dash/cd.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/usr/dash/cd.c b/usr/dash/cd.c
index 8a23110..ba9a1bc 100644
--- a/usr/dash/cd.c
+++ b/usr/dash/cd.c
@@ -253,12 +253,13 @@ getpwd()
{
#ifdef __GLIBC__
char *dir = getcwd(0, 0);
+ if (dir)
+ return dir;
#else
char buf[PATH_MAX];
- char *dir = getcwd(buf, sizeof(buf));
+ if(getcwd(buf, sizeof(buf)))
+ return savestr(buf);
#endif
- if (dir)
- return dir;
sh_warnx("getcwd() failed: %s", strerror(errno));
return nullstr;
}
--
1.7.0.3
More information about the klibc
mailing list