Remove useless code
The semantics of this block are such that restart will only be false if all components of mArguments are null. mArguments is a final array initialized in the constructor of LegacyVpnRunner. The components of the array are never overwritten (though the components of those components are), and at least one of these components will always be non-null (unless somebody calls startLegacyVpnPrivileged with a non-existing type, but that never happens). For safety, this patch also adds a check so that the code will crash early with a clear message if this ever happens. Test: FrameworksNetTests NetworkStackTests Change-Id: I1f13aa08c6f1870c9610185b603af76f97c22bab
This commit is contained in:
@@ -25,6 +25,7 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED;
|
||||
import static android.net.RouteInfo.RTN_THROW;
|
||||
import static android.net.RouteInfo.RTN_UNREACHABLE;
|
||||
|
||||
import static com.android.internal.util.Preconditions.checkArgument;
|
||||
import static com.android.internal.util.Preconditions.checkNotNull;
|
||||
|
||||
import android.Manifest;
|
||||
@@ -2759,6 +2760,8 @@ public class Vpn {
|
||||
|
||||
LegacyVpnRunner(VpnConfig config, String[] racoon, String[] mtpd, VpnProfile profile) {
|
||||
super(TAG);
|
||||
checkArgument(racoon != null || mtpd != null, "Arguments to racoon and mtpd "
|
||||
+ "must not both be null");
|
||||
mConfig = config;
|
||||
mDaemons = new String[] {"racoon", "mtpd"};
|
||||
// TODO: clear arguments from memory once launched
|
||||
@@ -2915,15 +2918,6 @@ public class Vpn {
|
||||
}
|
||||
new File("/data/misc/vpn/abort").delete();
|
||||
|
||||
// Check if we need to restart any of the daemons.
|
||||
boolean restart = false;
|
||||
for (String[] arguments : mArguments) {
|
||||
restart = restart || (arguments != null);
|
||||
}
|
||||
if (!restart) {
|
||||
agentDisconnect();
|
||||
return;
|
||||
}
|
||||
updateState(DetailedState.CONNECTING, "execute");
|
||||
|
||||
// Start the daemon with arguments.
|
||||
|
||||
Reference in New Issue
Block a user