diff options
-rw-r--r-- | CHANGELOG.rst | 6 | ||||
-rw-r--r-- | libgcompat/readlink.c | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f86ecdc..2a4b1d3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -35,6 +35,12 @@ math * Add most __*_finite functions, courtesy of Elizabeth Myers. +readlink +-------- + +* Report ENOSYS on dlsym failure. + + resolv ------ diff --git a/libgcompat/readlink.c b/libgcompat/readlink.c index 63def96..0db094c 100644 --- a/libgcompat/readlink.c +++ b/libgcompat/readlink.c @@ -1,4 +1,5 @@ #include <dlfcn.h> +#include <errno.h> #include <fcntl.h> #include <limits.h> #include <stddef.h> @@ -18,6 +19,7 @@ ssize_t readlink(const char *path, char *buf, size_t len) if (real_readlink == NULL) { real_readlink = dlsym(RTLD_NEXT, "readlink"); if (real_readlink == NULL) { + errno = ENOSYS; return -1; } } |