From: injun.yang Date: Tue, 4 Feb 2020 00:59:05 +0000 (+0900) Subject: Fix the LE scan filter malfunction X-Git-Tag: submit/tizen/20200203.160801~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F66%2F223766%2F1;p=platform%2Fcore%2Fconnectivity%2Fbluetooth-frwk.git Fix the LE scan filter malfunction Change-Id: I0372a8e1d8cbe89da582805ce74b62f18da6eb35 Signed-off-by: injun.yang --- 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 c338d84..a4fda40 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 @@ -549,7 +549,7 @@ static int __bt_get_ad_data_by_type(const char *in_data, int in_len, if (in_data == NULL || data == NULL || data_len == NULL) return BLUETOOTH_ERROR_INTERNAL; - if (in_len < 0) + if (in_len <= 0) return BLUETOOTH_ERROR_INTERNAL; int i; @@ -576,7 +576,7 @@ static int __bt_get_ad_data_by_type(const char *in_data, int in_len, if (i > BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX - 1 || i + len > in_len - || i + len > BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX - 1) { + || i + len > BLUETOOTH_ADVERTISING_DATA_LENGTH_MAX) { BT_ERR("Invalid advertising data"); return BLUETOOTH_ERROR_INTERNAL; } else if (len == 0) { @@ -749,8 +749,7 @@ static gboolean __bt_check_scan_result_with_filter(const char *device_address, name[data_len] = '\0'; g_free(data); data = NULL; - if (strncmp(filter_data->device_name, - name, data_len) == 0) { + if (g_strrstr(name, filter_data->device_name) != NULL) { BT_INFO("Device Name is matched in adv data."); is_matched = TRUE; } @@ -767,8 +766,7 @@ static gboolean __bt_check_scan_result_with_filter(const char *device_address, name[data_len] = '\0'; g_free(data); data = NULL; - if (strncmp(filter_data->device_name, - name, data_len) == 0) { + if (g_strrstr(name, filter_data->device_name) != NULL) { BT_INFO("Device Name is matched in scan data."); is_matched = TRUE; }