From: Greg Farnum Date: Thu, 26 Apr 2012 01:17:53 +0000 (-0700) Subject: pick_address: don't bother checking struct ifaddrs which have a null ifa_addr X-Git-Tag: v0.47~74 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=22bd5dfa25a1b93ccbacf882cea2e55dc8744004;p=ceph.git pick_address: don't bother checking struct ifaddrs which have a null ifa_addr I assume that's the localhost interface or similar. Signed-off-by: Greg Farnum --- diff --git a/src/common/pick_address.cc b/src/common/pick_address.cc index 20f300ae78a9..a9788331761d 100644 --- a/src/common/pick_address.cc +++ b/src/common/pick_address.cc @@ -96,13 +96,15 @@ bool have_local_addr(CephContext *cct, const list& ls, entity_add bool found = false; for (struct ifaddrs *addrs = ifa; addrs != NULL; addrs = addrs->ifa_next) { - entity_addr_t a; - a.set_sockaddr(addrs->ifa_addr); - for (list::const_iterator p = ls.begin(); p != ls.end(); ++p) { - if (a.is_same_host(*p)) { - *match = *p; - found = true; - goto out; + if (addrs->ifa_addr) { + entity_addr_t a; + a.set_sockaddr(addrs->ifa_addr); + for (list::const_iterator p = ls.begin(); p != ls.end(); ++p) { + if (a.is_same_host(*p)) { + *match = *p; + found = true; + goto out; + } } } }