diff options
Diffstat (limited to 'sysdeps/posix/getcwd.c')
-rw-r--r-- | sysdeps/posix/getcwd.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/posix/getcwd.c b/sysdeps/posix/getcwd.c index f00b337a13..839d78d7b7 100644 --- a/sysdeps/posix/getcwd.c +++ b/sysdeps/posix/getcwd.c @@ -241,6 +241,14 @@ __getcwd (char *buf, size_t size) char *path; #ifndef NO_ALLOCATION size_t allocated = size; + + /* A size of 1 byte is never useful. */ + if (allocated == 1) + { + __set_errno (ERANGE); + return NULL; + } + if (size == 0) { if (buf != NULL) |