summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-06 15:22:07 -0300
committerJanito Vaqueiro Ferreira Filho <janito@mullvad.net>2020-02-06 15:22:07 -0300
commitdb8ea63ffaa671df27dc404b75a9ee92fda0312c (patch)
tree0b22e4c33d45da3fdc1d501131d05a50ae1b8651
parent54796fa13112d2185a90edbc05d043c137c835a6 (diff)
parentadd59ae51ea3d40e6b39ecaaffeb62cdb6b99f37 (diff)
downloadmullvadvpn-db8ea63ffaa671df27dc404b75a9ee92fda0312c.tar.xz
mullvadvpn-db8ea63ffaa671df27dc404b75a9ee92fda0312c.zip
Merge branch 'fix-npe-in-relay-list'
-rw-r--r--CHANGELOG.md1
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt2
-rw-r--r--android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt4
3 files changed, 4 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 49e36a5b68..9b6199dcfd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,6 +35,7 @@ Line wrap the file at 100 chars. Th
### Fixed
#### Android
- Fix crash when removing the service from foreground on Android versions below API level 24.
+- Fix crash that happened in certain situations when retrieving the relay list.
## [2020.1-beta1] - 2020-02-05
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
index 5fe1918551..2012947ed8 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/dataproxy/RelayListListener.kt
@@ -59,7 +59,7 @@ class RelayListListener(val daemon: MullvadDaemon, val settingsListener: Setting
val relayLocations = daemon.getRelayLocations()
synchronized(this) {
- if (relayList == null) {
+ if (relayList == null && relayLocations != null) {
relayListChanged(RelayList(relayLocations))
}
}
diff --git a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
index a175efc5ca..8e8806cc70 100644
--- a/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
+++ b/android/src/main/kotlin/net/mullvad/mullvadvpn/service/MullvadDaemon.kt
@@ -57,7 +57,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
return getCurrentVersion(daemonInterfaceAddress)
}
- fun getRelayLocations(): RelayList {
+ fun getRelayLocations(): RelayList? {
return getRelayLocations(daemonInterfaceAddress)
}
@@ -106,7 +106,7 @@ class MullvadDaemon(val vpnService: MullvadVpnService) {
private external fun getWwwAuthToken(daemonInterfaceAddress: Long): String
private external fun getCurrentLocation(daemonInterfaceAddress: Long): GeoIpLocation?
private external fun getCurrentVersion(daemonInterfaceAddress: Long): String
- private external fun getRelayLocations(daemonInterfaceAddress: Long): RelayList
+ private external fun getRelayLocations(daemonInterfaceAddress: Long): RelayList?
private external fun getSettings(daemonInterfaceAddress: Long): Settings
private external fun getState(daemonInterfaceAddress: Long): TunnelState
private external fun getVersionInfo(daemonInterfaceAddress: Long): AppVersionInfo?