diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-10-09 12:19:05 +0000 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-10-09 12:19:05 +0000 |
commit | 4a9c34b27b90353d60b8f1fbe37a29442dc74056 (patch) | |
tree | 7cbc0e24b893defed0b98fdbe065cfc2fff0d3c5 /utils/chroot_realpath.c | |
parent | be9f2f92264447724eb561c8c124465b2805a6ab (diff) |
- fix errno setting (we're outside of libc here)
Diffstat (limited to 'utils/chroot_realpath.c')
-rw-r--r-- | utils/chroot_realpath.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/utils/chroot_realpath.c b/utils/chroot_realpath.c index 0785c6c5b..ff1d85d7f 100644 --- a/utils/chroot_realpath.c +++ b/utils/chroot_realpath.c @@ -1,5 +1,5 @@ /* - * chroot_realpath.c -- reslove pathname as if inside chroot + * chroot_realpath.c -- resolve pathname as if inside chroot * Based on realpath.c Copyright (C) 1993 Rick Sladkey <jrs@world.std.com> * * This program is free software; you can redistribute it and/or @@ -32,10 +32,6 @@ #include <limits.h> /* for PATH_MAX */ #include <sys/param.h> /* for MAXPATHLEN */ #include <errno.h> -#ifndef __set_errno -#define __set_errno(val) ((errno) = (val)) -#endif - #include <sys/stat.h> /* for S_IFLNK */ #ifndef PATH_MAX @@ -67,7 +63,7 @@ char *chroot_realpath(const char *chroot, const char *path, chroot_len = strlen(chroot); if (chroot_len + strlen(path) >= PATH_MAX - 3) { - __set_errno(ENAMETOOLONG); + errno = ENAMETOOLONG; return NULL; } @@ -112,7 +108,7 @@ char *chroot_realpath(const char *chroot, const char *path, /* Safely copy the next pathname component. */ while (*path != '\0' && *path != '/') { if (path > max_path) { - __set_errno(ENAMETOOLONG); + errno = ENAMETOOLONG; return NULL; } *new_path++ = *path++; @@ -123,7 +119,7 @@ char *chroot_realpath(const char *chroot, const char *path, #ifdef S_IFLNK /* Protect against infinite loops. */ if (readlinks++ > MAX_READLINKS) { - __set_errno(ELOOP); + errno = ELOOP; return NULL; } /* See if latest pathname component is a symlink. */ @@ -148,7 +144,7 @@ char *chroot_realpath(const char *chroot, const char *path, while (*(--new_path) != '/') ; /* Safe sex check. */ if (strlen(path) + n >= PATH_MAX - 2) { - __set_errno(ENAMETOOLONG); + errno = ENAMETOOLONG; return NULL; } /* Insert symlink contents into path. */ |