diff --git a/libnetutil/massdns.cc b/libnetutil/massdns.cc index 23295f50e..06fb4e021 100644 --- a/libnetutil/massdns.cc +++ b/libnetutil/massdns.cc @@ -1502,7 +1502,9 @@ void DNS::ResolverImpl::platform_get_servers() { // add_dns_server() function. FILE *fp; char buf[2048], *tp; - char fmt[32]; +#define _STR(X) #X +#define FMT_STR_LEN(X) "%" _STR(X) "s" + static const char fmt[] = "nameserver " FMT_STR_LEN(INET6_ADDRSTRLEN); char ipaddr[INET6_ADDRSTRLEN+1]; static bool firstrun = true; @@ -1513,8 +1515,6 @@ void DNS::ResolverImpl::platform_get_servers() { return; } - Snprintf(fmt, sizeof(fmt), "nameserver %%%us", INET6_ADDRSTRLEN); - while (fgets(buf, sizeof(buf), fp)) { tp = buf;