From: Florian Weimer Date: Thu, 28 Apr 2016 15:41:49 +0000 (+0200) Subject: getnameinfo: Do not preserve errno X-Git-Tag: glibc-2.24~312 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2b54cbce2c363ab6ae89d10657d7465858116d7a;p=thirdparty%2Fglibc.git getnameinfo: Do not preserve errno POSIX does not require it, the companion getaddrinfo implementation does not do it, and this behavior is not documented in the manual page, either. --- diff --git a/ChangeLog b/ChangeLog index bb2ca735544..89631521668 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2016-04-28 Florian Weimer + + * inet/getnameinfo.c (getnameinfo): Do not preserve errno. + 2016-04-28 Florian Weimer * resolv/inet_addr.c: Reindent preprocessor conditionals. diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c index 40f67f082fd..9b1847b0254 100644 --- a/inet/getnameinfo.c +++ b/inet/getnameinfo.c @@ -175,7 +175,6 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, socklen_t hostlen, char *serv, socklen_t servlen, int flags) { - int serrno = errno; int herrno; struct hostent th; int ok = 0; @@ -326,10 +325,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, if (!ok) { if (flags & NI_NAMEREQD) - { - __set_errno (serrno); - return EAI_NONAME; - } + return EAI_NONAME; else { const char *c; @@ -406,10 +402,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, }; if (flags & NI_NAMEREQD) - { - __set_errno (serrno); - return EAI_NONAME; - } + return EAI_NONAME; strncpy (host, "localhost", hostlen); break; @@ -463,7 +456,6 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, host[hostlen-1] = 0; if (serv && (servlen > 0)) serv[servlen-1] = 0; - errno = serrno; return 0; } libc_hidden_def (getnameinfo)