From b5fe55faf3fba29358c0011c67a37c2b8d2689b3 Mon Sep 17 00:00:00 2001 From: akwizgran Date: Wed, 29 Apr 2020 15:28:27 +0100 Subject: [PATCH] Validate remote address. --- .../plugin/bluetooth/AndroidBluetoothTransportConnection.java | 4 +++- .../main/java/org/briarproject/bramble/util/AndroidUtils.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothTransportConnection.java b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothTransportConnection.java index aedb15f67..226ad0330 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothTransportConnection.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/plugin/bluetooth/AndroidBluetoothTransportConnection.java @@ -11,6 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import static org.briarproject.bramble.api.plugin.BluetoothConstants.PROP_ADDRESS; +import static org.briarproject.bramble.util.AndroidUtils.isValidBluetoothAddress; @NotNullByDefault class AndroidBluetoothTransportConnection @@ -25,7 +26,8 @@ class AndroidBluetoothTransportConnection super(plugin); this.connectionManager = connectionManager; this.socket = socket; - remote.put(PROP_ADDRESS, socket.getRemoteDevice().getAddress()); + String address = socket.getRemoteDevice().getAddress(); + if (isValidBluetoothAddress(address)) remote.put(PROP_ADDRESS, address); } @Override diff --git a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java index 6182bed9b..4d5c8ea13 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/util/AndroidUtils.java @@ -71,7 +71,7 @@ public class AndroidUtils { return new Pair<>("", ""); } - private static boolean isValidBluetoothAddress(@Nullable String address) { + public static boolean isValidBluetoothAddress(@Nullable String address) { return !StringUtils.isNullOrEmpty(address) && BluetoothAdapter.checkBluetoothAddress(address) && !address.equals(FAKE_BLUETOOTH_ADDRESS);