From e6b040265d0f3955cab41fa943db695e423dd6cc Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Fri, 31 Jan 2025 08:27:55 +0100 Subject: [PATCH] android: Fix updating password for managed profiles Without data source set on the profile, this caused the app to crash with a null pointer dereference when it is updated. --- .../android/data/VpnProfileManagedDataSource.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileManagedDataSource.java b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileManagedDataSource.java index 414d5bc4e..a76241b4e 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileManagedDataSource.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/data/VpnProfileManagedDataSource.java @@ -98,7 +98,14 @@ public class VpnProfileManagedDataSource implements VpnProfileDataSource @Override public VpnProfile getVpnProfile(UUID uuid) { - return mManagedConfigurationService.getManagedProfiles().get(uuid.toString()); + final VpnProfile vpnProfile = mManagedConfigurationService.getManagedProfiles().get(uuid.toString()); + if (vpnProfile != null) + { + final String password = mSharedPreferences.getString(uuid.toString(), vpnProfile.getPassword()); + vpnProfile.setPassword(password); + vpnProfile.setDataSource(this); + } + return vpnProfile; } @Override