From 5152818d040ce1ff57b5dae912114da340e28173 Mon Sep 17 00:00:00 2001 From: Jozef Mlich Date: Fri, 7 Feb 2025 18:14:02 +0100 Subject: [PATCH 1/2] sanity check for battery service data length --- daemon/src/services/batteryservice.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/daemon/src/services/batteryservice.cpp b/daemon/src/services/batteryservice.cpp index 86136be1..ce360366 100644 --- a/daemon/src/services/batteryservice.cpp +++ b/daemon/src/services/batteryservice.cpp @@ -21,10 +21,12 @@ void BatteryService::characteristicRead(const QString &characteristic, const QBy { qDebug() << Q_FUNC_INFO << "Read:" << characteristic << value; if (characteristic == UUID_CHARACTERISTIC_BATTERY_LEVEL) { - m_batteryLevel = value[0]; - emit informationChanged(AbstractDevice::INFO_BATTERY, QString::number(m_batteryLevel)); + if (value.length() == 1) { + m_batteryLevel = value[0]; + emit informationChanged(AbstractDevice::INFO_BATTERY, QString::number(m_batteryLevel)); + } } else { - qWarning() << "Unknown value"; + qWarning() << "Unknown characteristic"; } } From 4d7a06e89577c9c815b88c30bbce74415b8ead99 Mon Sep 17 00:00:00 2001 From: Jozef Mlich Date: Fri, 7 Feb 2025 18:28:12 +0100 Subject: [PATCH 2/2] Add warning when invalid --- daemon/src/services/batteryservice.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/daemon/src/services/batteryservice.cpp b/daemon/src/services/batteryservice.cpp index ce360366..2501a3a3 100644 --- a/daemon/src/services/batteryservice.cpp +++ b/daemon/src/services/batteryservice.cpp @@ -24,6 +24,8 @@ void BatteryService::characteristicRead(const QString &characteristic, const QBy if (value.length() == 1) { m_batteryLevel = value[0]; emit informationChanged(AbstractDevice::INFO_BATTERY, QString::number(m_batteryLevel)); + } else { + qWarning() << "Invalid length"; } } else { qWarning() << "Unknown characteristic";