From 61a601e6e22eae1cfb40b1e0d49d5ad4dbec637c Mon Sep 17 00:00:00 2001 From: Istemon <248831556+istemon@users.noreply.github.com> Date: Sat, 10 Jan 2026 01:43:30 +0000 Subject: [PATCH] Return 'invalid handle' for malformed read by type request --- bumble/gatt_server.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/bumble/gatt_server.py b/bumble/gatt_server.py index 29e4c28..02f52a7 100644 --- a/bumble/gatt_server.py +++ b/bumble/gatt_server.py @@ -777,6 +777,18 @@ class Server(utils.EventEmitter): error_code=att.ATT_ATTRIBUTE_NOT_FOUND_ERROR, ) + if ( + request.starting_handle == 0x0000 + or request.starting_handle > request.ending_handle + ): + response = att.ATT_Error_Response( + request_opcode_in_error=request.op_code, + attribute_handle_in_error=request.starting_handle, + error_code=att.ATT_INVALID_HANDLE_ERROR, + ) + self.send_response(bearer, response) + return + attributes: list[tuple[int, bytes]] = [] for attribute in ( attribute