From 61d74898ae537a7ba94fe383e1582b27ef7e4d67 Mon Sep 17 00:00:00 2001 From: Szymon Janc Date: Tue, 6 May 2014 16:27:23 +0200 Subject: [PATCH] shared/gatt: Check if handles counter is not wrapped Make sure that handles are fitting in UINT16_MAX range before adding service to database. --- src/shared/gatt-db.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c index 6a15a4ca4..ebfd5865d 100644 --- a/src/shared/gatt-db.c +++ b/src/shared/gatt-db.c @@ -162,7 +162,7 @@ uint16_t gatt_db_add_service(struct gatt_db *db, const bt_uuid_t *uuid, uint8_t value[16]; uint16_t len; - if (num_handles < 1) + if (num_handles < 1 || (num_handles + db->next_handle) > UINT16_MAX) return 0; service = new0(struct gatt_db_service, 1); -- 2.47.3