Fix the prevent issues 78/152678/1 submit/tizen_4.0/20170927.034808
authorDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 27 Sep 2017 01:23:25 +0000 (10:23 +0900)
committerDoHyun Pyun <dh79.pyun@samsung.com>
Wed, 27 Sep 2017 01:23:25 +0000 (10:23 +0900)
Change-Id: Ie2c4e834e35cdc04a301801b961e7ceb3f130c43
Signed-off-by: DoHyun Pyun <dh79.pyun@samsung.com>
src/bluetooth-adapter.c
src/bluetooth-map-client.c

index ce9fc4e7aae1d398e92ca707d6a9374e5e32bbd1..0f713243a9accde886a6145fefbfe07937147f84 100644 (file)
@@ -3308,7 +3308,7 @@ int bt_adapter_le_get_scan_result_ibeacon_report(const bt_adapter_le_device_scan
                        bt_adapter_le_packet_type_e pkt_type, bt_adapter_le_ibeacon_scan_result_info_s **ibeacon_info)
 {
        int manufacturer_id;
-       char *manufacturer_data;
+       char *manufacturer_data = NULL;
        int manufacturer_data_len;
 
        BT_CHECK_LE_SUPPORT();
@@ -3320,11 +3320,18 @@ int bt_adapter_le_get_scan_result_ibeacon_report(const bt_adapter_le_device_scan
                        &manufacturer_data_len) != BT_ERROR_NONE)
                        return BT_ERROR_NO_DATA;
 
-       if (manufacturer_data == NULL || manufacturer_data_len < 23)
+       if (manufacturer_data == NULL)
                return BT_ERROR_NO_DATA;
 
-       if (manufacturer_id != COMPANY_ID_APPLE)
+       if (manufacturer_data_len < 23) {
+               bt_adapter_free_manufacturer_data(manufacturer_data);
                return BT_ERROR_NO_DATA;
+       }
+
+       if (manufacturer_id != COMPANY_ID_APPLE) {
+               bt_adapter_free_manufacturer_data(manufacturer_data);
+               return BT_ERROR_NO_DATA;
+       }
 
        *ibeacon_info = g_malloc0(sizeof(bt_adapter_le_ibeacon_scan_result_info_s));
 
@@ -3347,6 +3354,8 @@ int bt_adapter_le_get_scan_result_ibeacon_report(const bt_adapter_le_device_scan
 
        (*ibeacon_info)->measured_power = manufacturer_data[22];
 
+       bt_adapter_free_manufacturer_data(manufacturer_data);
+
        return BT_ERROR_NONE; /* LCOV_EXCL_STOP */
 }
 
index 9cc1cf83f755ba73c8559e2b640c6d4621e3a86b..a7e92dd01c280a98cead5657ff2f362ba9097eac 100644 (file)
@@ -333,16 +333,16 @@ int bt_map_client_get_message(bt_map_client_session_info_h handle,
 
        bt_map_client_session_info_s* session = (bt_map_client_session_info_s*) handle;
 
-       bt_get_message_callback_data *data = g_malloc(sizeof(*data));
-       data->target_file = target_file;
-       data->user_data = user_data;
-
        int error_code = _bt_get_error_code(bluetooth_map_client_get_message(session,
                        message_object, target_file, attachment));
        if (error_code != BT_ERROR_NONE) {
                BT_ERR("bt_map_client_get_message %s(0x%08x)", _bt_convert_error_to_string(error_code),
                                error_code);
        } else {
+               bt_get_message_callback_data *data = g_malloc(sizeof(*data));
+               data->target_file = target_file;
+               data->user_data = user_data;
+
                _bt_set_cb(BT_EVENT_MAP_CLIENT_GET_MESSAGE, callback, data);
        }