diff --git a/components/bt/bluedroid/bta/gatt/bta_gattc_cache.c b/components/bt/bluedroid/bta/gatt/bta_gattc_cache.c index 9385fecec..2108fbcd0 100644 --- a/components/bt/bluedroid/bta/gatt/bta_gattc_cache.c +++ b/components/bt/bluedroid/bta/gatt/bta_gattc_cache.c @@ -1141,6 +1141,11 @@ void bta_gattc_get_service_with_uuid(UINT16 conn_id, tBT_UUID *svc_uuid, int *count) { const list_t* svc = bta_gattc_get_services(conn_id); + if (svc == NULL) { + *svc_db = NULL; + *count = 0; + return; + } size_t db_size = list_length(svc); void *buffer = osi_malloc(db_size*sizeof(btgatt_db_element_t)); if (!buffer) {