diff --git a/src/config.c b/src/config.c index 4536f6c1..d396af3a 100644 --- a/src/config.c +++ b/src/config.c @@ -420,6 +420,11 @@ unsigned force_cert_auth; if (prefix > 0) { config->network.ipv6_netmask = ipv6_prefix_to_mask(prefix); config->network.ipv6_prefix = prefix; + + if (config->network.ipv6_netmask == NULL) { + fprintf(stderr, "invalid IPv6 prefix: %u\n", prefix); + exit(1); + } } READ_MULTI_LINE("custom-header", config->custom_header, config->custom_header_size); diff --git a/src/group-config.c b/src/group-config.c index 99a004a3..a711ada5 100644 --- a/src/group-config.c +++ b/src/group-config.c @@ -172,6 +172,10 @@ unsigned prefix = 0; if (prefix > 0) { config->ipv6_netmask = ipv6_prefix_to_mask(prefix); config->ipv6_prefix = prefix; + + if (config->ipv6_netmask == NULL) { + mslog(s, NULL, LOG_ERR, "unknown ipv6-prefix '%u' in %s", prefix, file); + } } READ_RAW_NUMERIC("rx-data-per-sec", config->rx_per_sec);