From 897df50f4cdc55339261a9fde83d650e7d85f081 Mon Sep 17 00:00:00 2001 From: Michael Wu Date: Wed, 5 Jun 2013 08:42:22 +0800 Subject: fix bad return value in dhcp_do_request_* 1. bad return status make it return uninitialized prefixLength with a magic number in android_net_utils_runDhcpCommon() 2. it will make DhcpInfoInternal.makeLinkAddress() to throw IllegalArgumentException when try to connect a Wifi AP 3. the exception will make system reboot, of cource it random. Change-Id: Iabc0cd5b69c1316f4eeae0aa1b8a91444dca4562 Signed-off-by: Michael Wu --- libnetutils/dhcp_utils.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'libnetutils') diff --git a/libnetutils/dhcp_utils.c b/libnetutils/dhcp_utils.c index b4caaf9..b940453 100644 --- a/libnetutils/dhcp_utils.c +++ b/libnetutils/dhcp_utils.c @@ -367,9 +367,8 @@ int dhcp_do_request_renew(const char *interface, return -1; } if (strcmp(prop_value, "ok") == 0) { - fill_ip_info(interface, ipaddr, gateway, prefixLength, + return fill_ip_info(interface, ipaddr, gateway, prefixLength, dns1, dns2, server, lease, vendorInfo); - return 0; } else { snprintf(errmsg, sizeof(errmsg), "DHCP Renew result was %s", prop_value); return -1; -- cgit v1.1