diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | lib/getaddrinfo.c | 8 | ||||
-rw-r--r-- | modules/getaddrinfo | 2 |
3 files changed, 10 insertions, 7 deletions
@@ -1,3 +1,10 @@ +2006-11-16 Paul Eggert <eggert@cs.ucla.edu> + + * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf. + * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h + and inttostr.h. Use snprintf rather than uinttostr, so that + LGPLed code doesn't depend on GPLed. + 2006-11-17 Paul Eggert <eggert@cs.ucla.edu> * modules/inline (License): Change from GPL to LGPL. diff --git a/lib/getaddrinfo.c b/lib/getaddrinfo.c index 358214afec..f523f7658e 100644 --- a/lib/getaddrinfo.c +++ b/lib/getaddrinfo.c @@ -38,8 +38,7 @@ #define N_(String) String #include "inet_ntop.h" -#include "intprops.h" -#include "inttostr.h" +#include "snprintf.h" #include "strdup.h" /* BeOS has AF_INET, but not PF_INET. */ @@ -408,11 +407,8 @@ int getnameinfo(const struct sockaddr *restrict sa, socklen_t salen, { unsigned short int port = ntohs (((const struct sockaddr_in *) sa)->sin_port); - char buf[INT_BUFSIZE_BOUND (port)]; - char const *s = uinttostr (port, buf); - if (strlen (s) + 1 > servicelen) + if (servicelen <= snprintf (service, servicelen, "%u", port)) return EAI_OVERFLOW; - memcpy (service, s, strlen (s) + 1); } break; } diff --git a/modules/getaddrinfo b/modules/getaddrinfo index 8f5979db38..b2b6a3574a 100644 --- a/modules/getaddrinfo +++ b/modules/getaddrinfo @@ -10,7 +10,7 @@ m4/getaddrinfo.m4 Depends-on: gettext-h inet_ntop -inttostr +snprintf socklen stdbool strdup |