diff options
author | Jeremy Allison <jra@samba.org> | 2007-10-11 18:03:12 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2007-10-11 18:03:12 -0700 |
commit | f4fd12acc873f37d54ede954eb7e48a684a7e9d0 (patch) | |
tree | 2ccbfd43924f24d32d05d98d6927e0b85cdc93df /source3/lib/interfaces.c | |
parent | cb5436bcc3b55e0c221fb6b3fa3133f149a64384 (diff) | |
download | samba-f4fd12acc873f37d54ede954eb7e48a684a7e9d0.tar.gz samba-f4fd12acc873f37d54ede954eb7e48a684a7e9d0.tar.xz samba-f4fd12acc873f37d54ede954eb7e48a684a7e9d0.zip |
Try and fix segfault found by Guenther on Fedora. Fedora
seems to return bogus values for the interface entries on
vmnet and tun interfaces.
Jeremy.
(This used to be commit 12c0b1d82802ccd1b272a8b47ddb7d258e10477c)
Diffstat (limited to 'source3/lib/interfaces.c')
-rw-r--r-- | source3/lib/interfaces.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/source3/lib/interfaces.c b/source3/lib/interfaces.c index c56155c64e7..e98ea462827 100644 --- a/source3/lib/interfaces.c +++ b/source3/lib/interfaces.c @@ -135,11 +135,14 @@ static int _get_interfaces(struct iface_struct *ifaces, int max_interfaces) memcpy(&ifaces[total].ip, ifptr->ifa_addr, copy_size); memcpy(&ifaces[total].netmask, ifptr->ifa_netmask, copy_size); - if (ifaces[total].flags & IFF_BROADCAST) { + + if ((ifaces[total].flags & IFF_BROADCAST) && + ifptr->ifa_broadaddr) { memcpy(&ifaces[total].bcast, ifptr->ifa_broadaddr, copy_size); - } else if (ifaces[total].flags & IFF_POINTOPOINT) { + } else if ((ifaces[total].flags & IFF_POINTOPOINT) && + ifptr->ifa_dstaddr ) { memcpy(&ifaces[total].bcast, ifptr->ifa_dstaddr, copy_size); |