Date: Thu, 16 Feb 2017 20:50:01 +0000 (UTC) From: Eric van Gyzen <vangyzen@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r313822 - in head/sys: libkern netinet Message-ID: <201702162050.v1GKo1DL014626@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: vangyzen Date: Thu Feb 16 20:50:01 2017 New Revision: 313822 URL: https://svnweb.freebsd.org/changeset/base/313822 Log: Remove inet_ntoa() from the kernel inet_ntoa() cannot be used safely in a multithreaded environment because it uses a static local buffer. Remove it from the kernel. Suggested by: glebius, emaste Reviewed by: gnn MFC after: never Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D9625 Modified: head/sys/libkern/inet_ntoa.c head/sys/netinet/in.h Modified: head/sys/libkern/inet_ntoa.c ============================================================================== --- head/sys/libkern/inet_ntoa.c Thu Feb 16 20:47:41 2017 (r313821) +++ head/sys/libkern/inet_ntoa.c Thu Feb 16 20:50:01 2017 (r313822) @@ -36,20 +36,6 @@ __FBSDID("$FreeBSD$"); #include <netinet/in.h> char * -inet_ntoa(struct in_addr ina) -{ - static char buf[4*sizeof "123"]; - unsigned char *ucp = (unsigned char *)&ina; - - sprintf(buf, "%d.%d.%d.%d", - ucp[0] & 0xff, - ucp[1] & 0xff, - ucp[2] & 0xff, - ucp[3] & 0xff); - return buf; -} - -char * inet_ntoa_r(struct in_addr ina, char *buf) { unsigned char *ucp = (unsigned char *)&ina; Modified: head/sys/netinet/in.h ============================================================================== --- head/sys/netinet/in.h Thu Feb 16 20:47:41 2017 (r313821) +++ head/sys/netinet/in.h Thu Feb 16 20:50:01 2017 (r313822) @@ -646,7 +646,6 @@ int in_localaddr(struct in_addr); int in_localip(struct in_addr); int in_ifhasaddr(struct ifnet *, struct in_addr); int inet_aton(const char *, struct in_addr *); /* in libkern */ -char *inet_ntoa(struct in_addr); /* in libkern */ char *inet_ntoa_r(struct in_addr ina, char *buf); /* in libkern */ char *inet_ntop(int, const void *, char *, socklen_t); /* in libkern */ int inet_pton(int af, const char *, void *); /* in libkern */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702162050.v1GKo1DL014626>