Fix bt_unit_test crash issue 32/273732/1
authorWootak Jung <wootak.jung@samsung.com>
Wed, 13 Apr 2022 05:33:07 +0000 (14:33 +0900)
committerWootak Jung <wootak.jung@samsung.com>
Wed, 13 Apr 2022 05:34:57 +0000 (14:34 +0900)
if service_data_len is 0, crash occured in case of reading service_data

__bt_adapter_le_scan_result_cb:1776() C8:A3:AF:17:AB:21 Adv 22 Scan resp 22 RSSI -80 Addr_type 1
__bt_adapter_le_scan_result_cb:1837() TX Power level = -20
__bt_adapter_le_scan_result_cb:1853() Service UUID[1] = FE2C
__bt_adapter_le_scan_result_cb:1855()         Data[1] = 0x00...(len: 11)
__bt_adapter_le_scan_result_cb:1853() Service UUID[2] = FE03
__bt_adapter_le_scan_result_cb:1830() Device name = JBL CLUB PRO+ TWS-LE

Change-Id: Ib5f3bbcee103a83a850203d866b4bd13aaa3187f

tests/test/bt_unit_test.c

index e2ba1972d16a0e1f15285ba01da0976355e529bf..1fd75065451b6818d3543cdea9004ec7b9313943 100644 (file)
@@ -1849,11 +1849,12 @@ static void __bt_adapter_le_scan_result_cb(
                if (bt_adapter_le_get_scan_result_service_data_list(
                        info, pkt_type, &data_list, &count) == BT_ERROR_NONE) {
                        int i;
-                       for (i = 0; i < count; i++)
-                               TC_PRT("Service Data[%d] = [0x%2.2X%2.2X:0x%.2X...]",
-                                       i + 1, data_list[i].service_uuid[0],
-                                       data_list[i].service_uuid[1],
-                                       data_list[i].service_data[0]);
+                       for (i = 0; i < count; i++) {
+                               TC_PRT("Service UUID[%d] = %s", i + 1, data_list[i].service_uuid);
+                               if (data_list[i].service_data_len > 0)
+                                       TC_PRT("        Data[%d] = 0x%.2X...(len: %d)", i + 1,
+                                                       data_list[i].service_data[0], data_list[i].service_data_len);
+                       }
                        bt_adapter_le_free_service_data_list(data_list, count);
                }
                if (bt_adapter_le_get_scan_result_appearance(