Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F162915092
D12354.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D12354.id.diff
View Options
Index: head/lib/libc/net/getaddrinfo.3
===================================================================
--- head/lib/libc/net/getaddrinfo.3
+++ head/lib/libc/net/getaddrinfo.3
@@ -18,7 +18,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd December 21, 2015
+.Dd September 13, 2017
.Dt GETADDRINFO 3
.Os
.Sh NAME
@@ -351,6 +351,17 @@
.Li addrinfo
structure created by a call to
.Fn getaddrinfo .
+.Sh IMPLEMENTATION NOTES
+The behavior of
+.Li freeadrinfo(NULL)
+is left unspecified by both
+.St -susv4
+and
+.Dv "RFC 3493" .
+The current implementation ignores a
+.Dv NULL
+argument for compatibility with programs that rely on the implementation
+details of other operating systems.
.Sh RETURN VALUES
.Fn getaddrinfo
returns zero on success or one of the error codes listed in
Index: head/lib/libc/net/getaddrinfo.c
===================================================================
--- head/lib/libc/net/getaddrinfo.c
+++ head/lib/libc/net/getaddrinfo.c
@@ -35,7 +35,7 @@
* in the source code. This is because RFC2553 is silent about which error
* code must be returned for which situation.
* - freeaddrinfo(NULL). RFC2553 is silent about it. XNET 5.2 says it is
- * invalid. current code - SEGV on freeaddrinfo(NULL)
+ * invalid. Current code accepts NULL to be compatible with other OSes.
*
* Note:
* - The code filters out AFs that are not supported by the kernel,
@@ -359,14 +359,13 @@
{
struct addrinfo *next;
- do {
+ while (ai != NULL) {
next = ai->ai_next;
- if (ai->ai_canonname)
- free(ai->ai_canonname);
+ free(ai->ai_canonname);
/* no need to free(ai->ai_addr) */
free(ai);
ai = next;
- } while (ai);
+ }
}
static int
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Jul 19, 6:40 AM (25 m, 24 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35224492
Default Alt Text
D12354.id.diff (1 KB)
Attached To
Mode
D12354: Silently handle freeaddrinfo(NULL) for compatibility with code which works on other OSes.
Attached
Detach File
Event Timeline
Log In to Comment