diff options
| author | Bruce Evans <bde@FreeBSD.org> | 1994-12-12 01:29:13 +0000 |
|---|---|---|
| committer | Bruce Evans <bde@FreeBSD.org> | 1994-12-12 01:29:13 +0000 |
| commit | b01f0b7d768e169639e4e82d48798d9ebaee2450 (patch) | |
| tree | e6d548dac258fa48a11d88dd63144e7aef4c9372 /lib/libc | |
| parent | a0d0470f4925c950f484fd607a5382978c8d999d (diff) | |
Notes
Diffstat (limited to 'lib/libc')
| -rw-r--r-- | lib/libc/gen/getcwd.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libc/gen/getcwd.c b/lib/libc/gen/getcwd.c index 4797f7c1a37c..2757d3b52b8e 100644 --- a/lib/libc/gen/getcwd.c +++ b/lib/libc/gen/getcwd.c @@ -78,6 +78,10 @@ getcwd(pt, size) errno = EINVAL; return (NULL); } + if (size == 1) { + errno = ERANGE; + return (NULL); + } ept = pt + size; } else { if ((pt = malloc(ptsize = 1024 - 4)) == NULL) @@ -187,7 +191,7 @@ getcwd(pt, size) * Check for length of the current name, preceding slash, * leading slash. */ - if (bpt - pt <= dp->d_namlen + (first ? 1 : 2)) { + if (bpt - pt < dp->d_namlen + (first ? 1 : 2)) { size_t len, off; if (!ptsize) { |
