diff --git a/net/slirp.c b/net/slirp.c index b3f35d5861..124e953d9c 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -212,14 +212,6 @@ static int net_slirp_init(NetClientState *peer, const char *model, return -1; } - if (vdhcp_start && !inet_aton(vdhcp_start, &dhcp)) { - return -1; - } - if ((dhcp.s_addr & mask.s_addr) != net.s_addr || - dhcp.s_addr == host.s_addr || dhcp.s_addr == dns.s_addr) { - return -1; - } - if (vnameserver && !inet_aton(vnameserver, &dns)) { return -1; } @@ -228,6 +220,14 @@ static int net_slirp_init(NetClientState *peer, const char *model, return -1; } + if (vdhcp_start && !inet_aton(vdhcp_start, &dhcp)) { + return -1; + } + if ((dhcp.s_addr & mask.s_addr) != net.s_addr || + dhcp.s_addr == host.s_addr || dhcp.s_addr == dns.s_addr) { + return -1; + } + #ifndef _WIN32 if (vsmbserver && !inet_aton(vsmbserver, &smbsrv)) { return -1;