From 68756ba8be2127b6ea30a466af9f78a5c97bc15f Mon Sep 17 00:00:00 2001 From: Bas van Sisseren Date: Mon, 3 Jun 2013 15:11:49 +0200 Subject: [PATCH] fix -net user checks by reordering checks reorder slirp config options. first check the dns-server-address, then check the first-dhcp-address. the original code was comparing the first-dhcp-address with the default dns-server-address, not the configured dns-server-address. Signed-off-by: Bas van Sisseren Signed-off-by: Jan Kiszka --- net/slirp.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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;