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 */
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to