summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bluetooth/qleadvertiser_bluez.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/bluetooth/qleadvertiser_bluez.cpp b/src/bluetooth/qleadvertiser_bluez.cpp
index e0ef450f..911317b2 100644
--- a/src/bluetooth/qleadvertiser_bluez.cpp
+++ b/src/bluetooth/qleadvertiser_bluez.cpp
@@ -255,7 +255,8 @@ static void addServicesData(AdvData &data, const QList<T> &services)
return;
constexpr auto sizeofT = static_cast<int>(sizeof(T)); // signed is more convenient
const qsizetype spaceAvailable = sizeof data.data - data.length;
- const qsizetype maxServices = (std::max)((spaceAvailable - 2) / sizeofT, services.size());
+ // Determine how many services will be set, space may limit the number
+ const qsizetype maxServices = (std::min)((spaceAvailable - 2) / sizeofT, services.size());
if (maxServices <= 0) {
qCWarning(QT_BT_BLUEZ) << "services data does not fit into advertising data packet";
return;