From b6146ca1a11d9db6fa2276920f2c3c32d9bc4457 Mon Sep 17 00:00:00 2001 From: Thomas Friebel Date: Sun, 5 Jul 2020 16:48:27 +0200 Subject: [PATCH] extmod/nimble: Fix attr NULL ptr dereference in ble_gatt_attr_read_cb. In case of error, NimBLE calls the read callback with attr = NULL. --- extmod/nimble/modbluetooth_nimble.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extmod/nimble/modbluetooth_nimble.c b/extmod/nimble/modbluetooth_nimble.c index 4e0ca88efa..be7d13d9e6 100644 --- a/extmod/nimble/modbluetooth_nimble.c +++ b/extmod/nimble/modbluetooth_nimble.c @@ -846,7 +846,7 @@ STATIC int ble_gatt_attr_read_cb(uint16_t conn_handle, const struct ble_gatt_err if (error->status == 0) { gattc_on_data_available(MP_BLUETOOTH_IRQ_GATTC_READ_RESULT, conn_handle, attr->handle, attr->om); } - mp_bluetooth_gattc_on_read_write_status(MP_BLUETOOTH_IRQ_GATTC_READ_DONE, conn_handle, attr->handle, error->status); + mp_bluetooth_gattc_on_read_write_status(MP_BLUETOOTH_IRQ_GATTC_READ_DONE, conn_handle, attr ? attr->handle : -1, error->status); return 0; }