diff --git a/android/gatt.c b/android/gatt.c
index 04e9729..aeb0585 100644
--- a/android/gatt.c
+++ b/android/gatt.c
static void bt_le_discovery_stop_cb(void);
-static void free_gatt_service(void *data)
+static void destroy_service(void *data)
{
struct service *srvc = data;
+ if (!srvc)
+ return;
+
queue_destroy(srvc->chars, free);
free(srvc);
}
{
struct gatt_device *dev = data;
+ if (!dev)
+ return;
+
queue_destroy(dev->clients, NULL);
- queue_destroy(dev->services, free_gatt_service);
+ queue_destroy(dev->services, destroy_service);
free(dev);
}