diff options
| -rw-r--r-- | core/java/android/net/DhcpStateMachine.java | 2 | ||||
| -rw-r--r-- | core/jni/android_net_NetUtils.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/net/DhcpStateMachine.java b/core/java/android/net/DhcpStateMachine.java index 518dd4b7bcca..0906c81d16ed 100644 --- a/core/java/android/net/DhcpStateMachine.java +++ b/core/java/android/net/DhcpStateMachine.java @@ -359,7 +359,7 @@ public class DhcpStateMachine extends StateMachine { } else if (dhcpAction == DhcpAction.RENEW) { if (DBG) Log.d(TAG, "DHCP renewal on " + mInterfaceName); success = NetworkUtils.runDhcpRenew(mInterfaceName, dhcpResults); - dhcpResults.updateFromDhcpRequest(mDhcpResults); + if (success) dhcpResults.updateFromDhcpRequest(mDhcpResults); } if (success) { if (DBG) Log.d(TAG, "DHCP succeeded on " + mInterfaceName); diff --git a/core/jni/android_net_NetUtils.cpp b/core/jni/android_net_NetUtils.cpp index f5f22b2d2aae..faae11ec3bb6 100644 --- a/core/jni/android_net_NetUtils.cpp +++ b/core/jni/android_net_NetUtils.cpp @@ -136,6 +136,10 @@ static jboolean android_net_utils_runDhcpCommon(JNIEnv* env, jobject clazz, jstr result = ::dhcp_do_request(nameStr, ipaddr, gateway, &prefixLength, dns, server, &lease, vendorInfo, domains); } + if (result != 0) { + ALOGD("dhcp_do_request failed"); + } + env->ReleaseStringUTFChars(ifname, nameStr); if (result == 0) { env->CallVoidMethod(dhcpResults, dhcpResultsFieldIds.clear); |