From 13b09ffae866832a11b8fe211496f822f11f88b3 Mon Sep 17 00:00:00 2001 From: Albert Vaca Cintora Date: Tue, 31 Dec 2024 17:49:16 +0100 Subject: [PATCH] Enforce format of device IDs --- src/org/kde/kdeconnect/DeviceInfo.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/org/kde/kdeconnect/DeviceInfo.kt b/src/org/kde/kdeconnect/DeviceInfo.kt index 32fcb1f1..65539d80 100644 --- a/src/org/kde/kdeconnect/DeviceInfo.kt +++ b/src/org/kde/kdeconnect/DeviceInfo.kt @@ -105,8 +105,13 @@ class DeviceInfo( fun isValidIdentityPacket(identityPacket: NetworkPacket): Boolean = with(identityPacket) { type == NetworkPacket.PACKET_TYPE_IDENTITY && DeviceHelper.filterName(getString("deviceName", "")).isNotBlank() && - getString("deviceId", "").isNotBlank() + isValidDeviceId(getString("deviceId", "")); } + + private val DEVICE_ID_REGEX = "^_?[a-fA-F0-9]{8}_?[a-fA-F0-9]{4}_?[a-fA-F0-9]{4}_?[a-fA-F0-9]{4}_?[a-fA-F0-9]{12}_?\$".toRegex() + + @JvmStatic + fun isValidDeviceId(deviceId: String): Boolean = deviceId.matches(DEVICE_ID_REGEX) } }