summaryrefslogtreecommitdiff
path: root/src/lib/libc/net/freeaddrinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libc/net/freeaddrinfo.c')
-rw-r--r--src/lib/libc/net/freeaddrinfo.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/libc/net/freeaddrinfo.c b/src/lib/libc/net/freeaddrinfo.c
index 154f70cd75..c06318fb75 100644
--- a/src/lib/libc/net/freeaddrinfo.c
+++ b/src/lib/libc/net/freeaddrinfo.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: freeaddrinfo.c,v 1.9 2016/09/21 04:38:56 guenther Exp $ */ 1/* $OpenBSD: freeaddrinfo.c,v 1.10 2025/12/08 13:30:08 jca Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 1996, 1997, 1998, 1999, Craig Metz, All rights reserved. 4 * Copyright (c) 1996, 1997, 1998, 1999, Craig Metz, All rights reserved.
@@ -40,11 +40,15 @@ freeaddrinfo(struct addrinfo *ai)
40{ 40{
41 struct addrinfo *p; 41 struct addrinfo *p;
42 42
43 do { 43 /*
44 * Calling freeaddrinfo() with a NULL pointer is unspecified,
45 * but try to cope with it anyway for compatibility.
46 */
47 while (ai != NULL) {
44 p = ai; 48 p = ai;
45 ai = ai->ai_next; 49 ai = ai->ai_next;
46 free(p->ai_canonname); 50 free(p->ai_canonname);
47 free(p); 51 free(p);
48 } while (ai); 52 }
49} 53}
50DEF_WEAK(freeaddrinfo); 54DEF_WEAK(freeaddrinfo);