From 8758b65cb3e3cb1bf6dedc51087f77fa4776e69e Mon Sep 17 00:00:00 2001 From: DoHyun Pyun Date: Fri, 7 Feb 2020 12:55:04 +0900 Subject: [PATCH] Fix dereference of NULL issue Issues was reported by a static analyzer. Change-Id: If99919b3da86b6d09675120fa9ee1d6607290f6d Signed-off-by: DoHyun Pyun --- .../services/adapter/bt-service-core-adapter-le.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/bt-service-adaptation/services/adapter/bt-service-core-adapter-le.c b/bt-service-adaptation/services/adapter/bt-service-core-adapter-le.c index fbe1660..2b39e01 100644 --- a/bt-service-adaptation/services/adapter/bt-service-core-adapter-le.c +++ b/bt-service-adaptation/services/adapter/bt-service-core-adapter-le.c @@ -2096,14 +2096,18 @@ int _bt_stop_le_scan(const char *sender) /* Check scanning is in progress or not */ scanner = __bt_find_scanner_from_list(sender); - if (scanner == NULL || scanner->is_scanning == FALSE) + if (scanner == NULL) + return BLUETOOTH_ERROR_NOT_IN_OPERATION; + + if (scanner->is_scanning == FALSE) return BLUETOOTH_ERROR_NOT_IN_OPERATION; scanner->is_scanning = FALSE; for (l = scanner_list; l != NULL; l = g_slist_next(l)) { - scanner = l->data; - if (scanner->is_scanning == TRUE) + bt_adapter_le_scanner_t *scanner_iter = l->data; + + if (scanner_iter->is_scanning == TRUE) next_scanning = TRUE; } @@ -2131,7 +2135,6 @@ int _bt_stop_le_scan(const char *sender) _bt_unregister_all_scan_filters(sender); - scanner = __bt_find_scanner_from_list(sender); scanner_list = g_slist_remove(scanner_list, scanner); __bt_free_le_scanner(scanner); -- 2.7.4