aboutsummaryrefslogtreecommitdiffstats
path: root/src/Components/Ble/NotificationManager.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-07-11 21:09:34 +0200
committerJF <jf@codingfield.com>2020-07-11 21:09:34 +0200
commit64c14274fc2f025fc48d3df47a1640f08eb968cd (patch)
tree262cf8b4e84c556748f42bbf778b48a68210921d /src/Components/Ble/NotificationManager.cpp
parent0bcaf9c22d6183ba8072e10abb9da7aea578b8db (diff)
parent6309719a62436fd746a7a8b228205e93b419ca26 (diff)
Merge branch 'develop'
# Conflicts: # CMakeLists.txt
Diffstat (limited to 'src/Components/Ble/NotificationManager.cpp')
-rw-r--r--src/Components/Ble/NotificationManager.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Components/Ble/NotificationManager.cpp b/src/Components/Ble/NotificationManager.cpp
index 2e02cb15..0aea0697 100644
--- a/src/Components/Ble/NotificationManager.cpp
+++ b/src/Components/Ble/NotificationManager.cpp
@@ -4,11 +4,12 @@
using namespace Pinetime::Controllers;
void NotificationManager::Push(Pinetime::Controllers::NotificationManager::Categories category,
- const char *message, uint8_t messageSize) {
+ const char *message, uint8_t currentMessageSize) {
// TODO handle edge cases on read/write index
+ auto checkedSize = std::min(currentMessageSize, uint8_t{18});
auto& notif = notifications[writeIndex];
- std::memcpy(notif.message.data(), message, messageSize);
- notif.message[messageSize] = '\0';
+ std::memcpy(notif.message.data(), message, checkedSize);
+ notif.message[checkedSize] = '\0';
notif.category = category;
writeIndex = (writeIndex + 1 < TotalNbNotifications) ? writeIndex + 1 : 0;