diff --git a/daemon/main.c b/daemon/main.c index 3ee68dfa1..86faba62f 100644 --- a/daemon/main.c +++ b/daemon/main.c @@ -164,11 +164,15 @@ static struct intf_config *if_addr_parse(char *s) { /* address */ if (sockaddr_parse_any(&addr, s)) return NULL; + if (is_addr_unspecified(&addr)) + return NULL; adv = addr; if (c) { if (sockaddr_parse_any(&adv, c)) return NULL; + if (is_addr_unspecified(&adv)) + return NULL; } ifa = g_slice_alloc0(sizeof(*ifa)); @@ -317,6 +321,8 @@ static void options(int *argc, char ***argv) { die("Invalid interface specification: %s", *iter); g_queue_push_tail(&rtpe_config.interfaces, ifa); } + if (!&rtpe_config.interfaces) + die("Cannot start without any configured interfaces"); if (ks_a) { for (iter = ks_a; *iter; iter++) {