summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/unistd/getcwd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/unistd/getcwd.c b/src/unistd/getcwd.c
index f407ffe0..4fd3a60c 100644
--- a/src/unistd/getcwd.c
+++ b/src/unistd/getcwd.c
@@ -15,8 +15,11 @@ char *getcwd(char *buf, size_t size)
return 0;
}
long ret = syscall(SYS_getcwd, buf, size);
- if (ret < 0)
+ if (ret < 0) {
+ if (errno == ENAMETOOLONG)
+ errno = ENOMEM;
return 0;
+ }
if (ret == 0 || buf[0] != '/') {
errno = ENOENT;
return 0;