diff options
| -rw-r--r-- | lib/libc/gen/getcwd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/libc/gen/getcwd.c b/lib/libc/gen/getcwd.c index 344a41804129..f178784e44e7 100644 --- a/lib/libc/gen/getcwd.c +++ b/lib/libc/gen/getcwd.c @@ -268,10 +268,14 @@ notfound: errno = save_errno ? save_errno : ENOENT; /* FALLTHROUGH */ err: + save_errno = errno; + if (ptsize) free(pt); if (dir) (void) closedir(dir); free(up); + + errno = save_errno; return (NULL); } |
