diff mbox series

[BlueZ] gatt: Fix possible crash when unable to generate hash

Message ID 20200603173519.559897-1-luiz.dentz@gmail.com
State New
Headers show
Series [BlueZ] gatt: Fix possible crash when unable to generate hash | expand

Commit Message

Luiz Augusto von Dentz June 3, 2020, 5:35 p.m. UTC
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>

gatt_db_get_hash actually depends on crypto so platforms that don't
have it enabled shall not register GATT_CHARAC_DB_HASH as otherwise it
would cause a crash due to hash being NULL.
---
 src/gatt-database.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/src/gatt-database.c b/src/gatt-database.c
index 8cbe09bae..d717bbcde 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1211,10 +1211,14 @@  static void populate_gatt_service(struct btd_gatt_database *database)
 				cli_feat_read_cb, cli_feat_write_cb,
 				database);
 
-	bt_uuid16_create(&uuid, GATT_CHARAC_DB_HASH);
-	database->db_hash = gatt_db_service_add_characteristic(service,
+
+	/* Only expose database hash chrc if supported */
+	if (gatt_db_get_hash(database->db)) {
+		bt_uuid16_create(&uuid, GATT_CHARAC_DB_HASH);
+		database->db_hash = gatt_db_service_add_characteristic(service,
 				&uuid, BT_ATT_PERM_READ, BT_GATT_CHRC_PROP_READ,
 				db_hash_read_cb, NULL, database);
+	}
 
 	/* Only enable EATT if there is a socket listening */
 	if (database->eatt_io) {