From: Tobias Brunner Date: Fri, 31 Jan 2025 07:27:55 +0000 (+0100) Subject: android: Fix updating password for managed profiles X-Git-Tag: android-2.5.3^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6b040265d0f3955cab41fa943db695e423dd6cc;p=thirdparty%2Fstrongswan.git 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. --- 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 414d5bc4ef..a76241b4e5 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