--- src/ushare.c.orig 2008-06-06 21:56:56.000000000 +0100 +++ src/ushare.c 2008-06-06 21:59:20.000000000 +0100 @@ -421,12 +421,15 @@ itf = itflist; while (itf) { - if ((itf->ifa_flags & IFF_UP) - && !strncmp (itf->ifa_name, interface, IFNAMSIZ)) + if (!strncmp (itf->ifa_name, interface, IFNAMSIZ)) { - log_error (_("Interface %s is down.\n"), interface); - log_error (_("Recheck uShare's configuration and try again !\n")); - freeifaddrs (itflist); + if (!(itf->ifa_flags & IFF_UP)) + { + log_error (_("Interface %s is down.\n"), interface); + log_error (_("Recheck uShare's configuration and try again !\n")); + freeifaddrs (itflist); + return false; + } return true; } itf = itf->ifa_next;