From 244539cd0852bbcf8f21507d7ff866d8e7fcff18 Mon Sep 17 00:00:00 2001 From: Carmelo Amoroso Date: Tue, 20 Nov 2007 10:09:16 +0000 Subject: Fix Makefile.in and synch them with trunk. Signed-off-by: Carmelo Amoroso --- libc/stdlib/realpath.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'libc/stdlib/realpath.c') diff --git a/libc/stdlib/realpath.c b/libc/stdlib/realpath.c index c3cc517de..aae8580a5 100644 --- a/libc/stdlib/realpath.c +++ b/libc/stdlib/realpath.c @@ -58,6 +58,14 @@ char resolved_path[]; int readlinks = 0; int n; + if (path == NULL) { + __set_errno(EINVAL); + return NULL; + } + if (*path == '\0') { + __set_errno(ENOENT); + return NULL; + } /* Make a copy of the source path since we may need to modify it. */ if (strlen(path) >= PATH_MAX - 2) { __set_errno(ENAMETOOLONG); @@ -66,15 +74,10 @@ char resolved_path[]; strcpy(copy_path, path); path = copy_path; max_path = copy_path + PATH_MAX - 2; - /* If it's a relative pathname use getwd for starters. */ + /* If it's a relative pathname use getcwd for starters. */ if (*path != '/') { /* Ohoo... */ -#define HAVE_GETCWD -#ifdef HAVE_GETCWD getcwd(new_path, PATH_MAX - 1); -#else - getwd(new_path); -#endif new_path += strlen(new_path); if (new_path[-1] != '/') *new_path++ = '/'; -- cgit v1.2.3