From 73ae3fb93d271c1a3536a7a280b911808dc5c9c4 Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Mon, 21 Apr 2025 00:36:32 +0300 Subject: [PATCH] shared/gatt-db: fix crash on bad attribute index in get_char_data Fix AddressSanitizer: heap-buffer-overflow when index == 0. --- src/shared/gatt-db.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared/gatt-db.c b/src/shared/gatt-db.c index b44140523..8951079be 100644 --- a/src/shared/gatt-db.c +++ b/src/shared/gatt-db.c @@ -1980,8 +1980,8 @@ bool gatt_db_attribute_get_char_data(const struct gatt_db_attribute *attrib, /* Check if Characteristic Value was passed instead */ index = gatt_db_attribute_get_index(attrib); - if (index < 0) - return NULL; + if (index <= 0) + return false; attrib = attrib->service->attributes[index - 1]; if (bt_uuid_cmp(&characteristic_uuid, &attrib->uuid)) -- 2.47.3