]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
hurd: Fix `getifaddrs' and `freeifaddrs' symbol exposition
authorSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 27 Sep 2017 22:19:18 +0000 (00:19 +0200)
committerSamuel Thibault <samuel.thibault@ens-lyon.org>
Wed, 27 Sep 2017 23:05:18 +0000 (01:05 +0200)
from `freeaddrinfo'.

`getifaddrs' and `freeifaddrs' are not in POSIX, they should not be
exposed along `freeaddrinfo' (through `__check_pf') which is POSIX.

* include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
and use libc_hidden_def on them.
* inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
them.
* sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
* inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
instead of getifaddrs and freeifaddrs.

ChangeLog
include/ifaddrs.h
inet/check_pf.c
inet/ifaddrs.c
sysdeps/gnu/ifaddrs.c

index 737dc8f8089afe898c979d944c7726cedcd7f739..8e26c003a86fb5d5ca7266725b419fb600c98e82 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        redefine as weak alias.
        * sysdeps/mach/hurd/rewinddir.c (__rewinddir): Use __seekdir instead
        of seekdir.
+       * include/ifaddrs.h (__getifaddrs, __freeifaddrs): New declarations,
+       and use libc_hidden_def on them.
+       * inet/ifaddrs.c (__getifaddrs, __freeifaddrs): Use libc_hidden_def on
+       them.
+       * sysdeps/gnu/ifaddrs.c (__getifaddrs, __freeifaddrs): Likewise.
+       * inet/check_pf.c (__check_pf): Use __getifaddrs and __freeifaddrs
+       instead of getifaddrs and freeifaddrs.
 
 2017-09-26  H.J. Lu  <hongjiu.lu@intel.com>
 
index 54f4b7a3cec9b21020309626d9718a356cc96e5c..416118f1b38cb580b2d45966d5e29d531f4c81d5 100644 (file)
@@ -9,6 +9,11 @@
 libc_hidden_proto (getifaddrs)
 libc_hidden_proto (freeifaddrs)
 
+extern int __getifaddrs (struct ifaddrs **__ifap);
+libc_hidden_proto (__getifaddrs)
+extern void __freeifaddrs (struct ifaddrs *__ifa);
+libc_hidden_proto (__freeifaddrs)
+
 struct in6addrinfo
 {
   enum {
index a56723a7dfd13983ca10445c5ff672a6b090a701..84dd1699d5f2be9094fea2bfb8b17b56d9d92963 100644 (file)
@@ -32,7 +32,7 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
 
   /* Get the interface list via getifaddrs.  */
   struct ifaddrs *ifa = NULL;
-  if (getifaddrs (&ifa) != 0)
+  if (__getifaddrs (&ifa) != 0)
     {
       /* We cannot determine what interfaces are available.  Be
         pessimistic.  */
@@ -51,7 +51,7 @@ __check_pf (bool *seen_ipv4, bool *seen_ipv6,
     else if (runp->ifa_addr->sa_family == PF_INET6)
       *seen_ipv6 = true;
 
-  (void) freeifaddrs (ifa);
+  (void) __freeifaddrs (ifa);
 }
 
 
index 35cc277225588f8e9552786e11d3582e41c32715..0a5c71c059f773dbda15034fb54ca10f73986e3a 100644 (file)
@@ -30,6 +30,7 @@ __getifaddrs (struct ifaddrs **ifap)
   return -1;
 }
 weak_alias (__getifaddrs, getifaddrs)
+libc_hidden_def (__getifaddrs)
 libc_hidden_weak (getifaddrs)
 stub_warning (getifaddrs)
 
@@ -43,5 +44,6 @@ __freeifaddrs (struct ifaddrs *ifa)
   abort ();
 }
 weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_def (__freeifaddrs)
 libc_hidden_weak (freeifaddrs)
 stub_warning (freeifaddrs)
index 37b3248669b595333b80d82f4dbb806e77ab0bc6..80702eb1d194a8d7b74ca076e03ae428cfdf8206 100644 (file)
@@ -151,6 +151,7 @@ __getifaddrs (struct ifaddrs **ifap)
   return 0;
 }
 weak_alias (__getifaddrs, getifaddrs)
+libc_hidden_def (__getifaddrs)
 #ifndef getifaddrs
 libc_hidden_weak (getifaddrs)
 #endif
@@ -161,4 +162,5 @@ __freeifaddrs (struct ifaddrs *ifa)
   free (ifa);
 }
 weak_alias (__freeifaddrs, freeifaddrs)
+libc_hidden_def (__freeifaddrs)
 libc_hidden_weak (freeifaddrs)