From 9ca7edc30c456260ce6ec91ff9d4f1c7c628eaf7 Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Sat, 5 Jan 2013 11:38:55 +0200 Subject: [PATCH] core: Don't react to mgmt events until the adapter is registered The up-to-date state info comes in the read_info response (which triggers the adapter registration) so just ignore any events until that point. --- src/adapter.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/adapter.c b/src/adapter.c index 750d36687..83ec0bc5c 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -205,6 +205,9 @@ static void class_of_dev_changed_callback(uint16_t index, uint16_t length, struct btd_adapter *adapter = user_data; const struct mgmt_cod *rp = param; + if (!adapter->initialized) + return; + if (length < sizeof(*rp)) { error("Wrong size of class of device changed parameters"); return; @@ -456,6 +459,9 @@ static void new_settings_callback(uint16_t index, uint16_t length, struct btd_adapter *adapter = user_data; uint32_t settings; + if (!adapter->initialized) + return; + if (length < sizeof(settings)) { error("Wrong size of new settings parameters"); return; @@ -689,6 +695,9 @@ static void local_name_changed_callback(uint16_t index, uint16_t length, struct btd_adapter *adapter = user_data; const struct mgmt_cp_set_local_name *rp = param; + if (!adapter->initialized) + return; + if (length < sizeof(*rp)) { error("Wrong size of local name changed parameters"); return; -- 2.47.3