svn commit: r313822 - in head/sys: libkern netinet

Eric van Gyzen vangyzen at FreeBSD.org
Thu Feb 16 20:50:03 UTC 2017


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 */


More information about the svn-src-head mailing list