summaryrefslogtreecommitdiffstats
path: root/libnetutils
diff options
context:
space:
mode:
authorMichael Wu <michaelstay@gmail.com>2013-06-05 08:42:22 +0800
committerMichael Wu <michaelstay@gmail.com>2013-06-05 08:42:22 +0800
commit897df50f4cdc55339261a9fde83d650e7d85f081 (patch)
treed0cbd13532a50a4250afc92a00109bafdc30a23a /libnetutils
parent59fa7e107d43a4ef521413ec0bb7b0c2a5525071 (diff)
downloadsystem_core-897df50f4cdc55339261a9fde83d650e7d85f081.zip
system_core-897df50f4cdc55339261a9fde83d650e7d85f081.tar.gz
system_core-897df50f4cdc55339261a9fde83d650e7d85f081.tar.bz2
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 <michaelstay@gmail.com>
Diffstat (limited to 'libnetutils')
-rw-r--r--libnetutils/dhcp_utils.c3
1 files changed, 1 insertions, 2 deletions
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;