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-all
mailing list