summaryrefslogtreecommitdiff
path: root/src/components/ble/AlertNotificationClient.cpp
diff options
context:
space:
mode:
authorJean-François Milants <jf@codingfield.com>2021-04-04 13:19:37 (GMT)
committerJean-François Milants <jf@codingfield.com>2021-04-04 13:19:37 (GMT)
commit3934e9bef20c5c2ad393e20cfff3a5a1b0d24569 (patch)
tree5c8042f34d7e2bbb2f5ee6a0fbab2843d0897115 /src/components/ble/AlertNotificationClient.cpp
parent1b71a10bebb63a1b93583d20d657d7accb6b3ddf (diff)
Ignore notification with empty message.
Diffstat (limited to 'src/components/ble/AlertNotificationClient.cpp')
-rw-r--r--src/components/ble/AlertNotificationClient.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/components/ble/AlertNotificationClient.cpp b/src/components/ble/AlertNotificationClient.cpp
index cfb3272..9efede3 100644
--- a/src/components/ble/AlertNotificationClient.cpp
+++ b/src/components/ble/AlertNotificationClient.cpp
@@ -158,8 +158,11 @@ void AlertNotificationClient::OnNotification(ble_gap_event *event) {
const auto maxMessageSize{NotificationManager::MaximumMessageSize()};
const auto maxBufferSize{maxMessageSize + headerSize};
- const auto dbgPacketLen = OS_MBUF_PKTLEN(event->notify_rx.om);
- size_t bufferSize = std::min(dbgPacketLen + stringTerminatorSize, maxBufferSize);
+ // Ignore notifications with empty message
+ const auto packetLen = OS_MBUF_PKTLEN(event->notify_rx.om);
+ if(packetLen <= headerSize) return;
+
+ size_t bufferSize = std::min(packetLen + stringTerminatorSize, maxBufferSize);
auto messageSize = std::min(maxMessageSize, (bufferSize - headerSize));
NotificationManager::Notification notif;