diff options
author | Michael Wu <michaelstay@gmail.com> | 2013-06-05 08:42:22 +0800 |
---|---|---|
committer | Michael Wu <michaelstay@gmail.com> | 2013-06-05 08:42:22 +0800 |
commit | 897df50f4cdc55339261a9fde83d650e7d85f081 (patch) | |
tree | d0cbd13532a50a4250afc92a00109bafdc30a23a /libnetutils | |
parent | 59fa7e107d43a4ef521413ec0bb7b0c2a5525071 (diff) | |
download | system_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.c | 3 |
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; |