summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2015-10-13 15:21:21 +0900
committerLorenzo Colitti <lorenzo@google.com>2015-10-13 15:29:14 +0900
commit9b23f885525b38f0042b315e8254ea663e433ad8 (patch)
tree39792f0f1e45f58a88127e081a6d17ca04aa951e /services
parent4e4d59eeef86fa8560d35c00168869b0a066f962 (diff)
downloadframeworks_base-9b23f885525b38f0042b315e8254ea663e433ad8.zip
frameworks_base-9b23f885525b38f0042b315e8254ea663e433ad8.tar.gz
frameworks_base-9b23f885525b38f0042b315e8254ea663e433ad8.tar.bz2
Don't crash if an invalid always-on VPN profile is configured.
This is currently being hit because Settings does not clear the always-on VPN configuration when the corresponding VPN profile is deleted. This will be fixed in Settings, but there's no harm in being robust to invalid configurations here. Bug: 23625458 Change-Id: Id185a54d5892339197cd40026df5174debd957cf
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/ConnectivityService.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index 6190a5a..d715654 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -3212,6 +3212,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
final String profileName = new String(mKeyStore.get(Credentials.LOCKDOWN_VPN));
final VpnProfile profile = VpnProfile.decode(
profileName, mKeyStore.get(Credentials.VPN + profileName));
+ if (profile == null) {
+ Slog.e(TAG, "Lockdown VPN configured invalid profile " + profileName);
+ setLockdownTracker(null);
+ return true;
+ }
int user = UserHandle.getUserId(Binder.getCallingUid());
synchronized(mVpns) {
setLockdownTracker(new LockdownVpnTracker(mContext, mNetd, this, mVpns.get(user),