This patch fixes coverity issues in BT-API, bt-service, BT-OAL and BT-HAL.
Fixed coverity Ids are as below:
859518, 859522, 859523, 859524, 859527, 859533, 859535, 859540,
859542, 859547, 859557, 859562, 859564, 859569, 859575
Change-Id: Ie920767a4581a3a6b206f2842d2a9a6fffc052c9
Signed-off-by: Atul Rai <a.rai@samsung.com>
if (l1 == NULL) {
BT_ERR("gatt service list is NULL");
g_dbus_method_invocation_return_value(invocation, NULL);
if (l1 == NULL) {
BT_ERR("gatt service list is NULL");
g_dbus_method_invocation_return_value(invocation, NULL);
+ g_variant_builder_unref(builder);
if (serv_info == NULL) {
BT_ERR("service info value is NULL");
g_dbus_method_invocation_return_value(invocation, NULL);
if (serv_info == NULL) {
BT_ERR("service info value is NULL");
g_dbus_method_invocation_return_value(invocation, NULL);
+ g_variant_builder_unref(builder);
g_variant_new(
"(a{oa{sa{sv}}})",
builder));
g_variant_new(
"(a{oa{sa{sv}}})",
builder));
+ g_variant_builder_unref(builder);
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
+ if (error != NULL) {
+ /* dbus gives error cause */
+ BT_ERR("d-bus api failure: errcode[%x], message[%s]",
+ error->code, error->message);
+ g_clear_error(&error);
+ }
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
+ if (error) {
+ /* dBUS gives error cause */
+ BT_ERR("Could not Emit Signal: errCode[%x], message[%s]",
+ error->code, error->message);
+ g_clear_error(&error);
+ }
*desc_path = g_strdup(path);
*desc_path = g_strdup(path);
if (cb)
cb(object_path, fd, &remote_addr1);
if (cb)
cb(object_path, fd, &remote_addr1);
} else if (g_strcmp0(method_name, "RequestDisconnection") == 0) {
g_dbus_method_invocation_return_value(invocation, NULL);
}
} else if (g_strcmp0(method_name, "RequestDisconnection") == 0) {
g_dbus_method_invocation_return_value(invocation, NULL);
}
ev->num_props++;
DBG("Device address [%s] property Num [%d]", address, ev->num_props);
ev->num_props++;
DBG("Device address [%s] property Num [%d]", address, ev->num_props);
} else if (strcasecmp(key, "Class") == 0) {
unsigned int class = g_variant_get_uint32(val);
size += __bt_insert_hal_properties(buf + size, HAL_PROP_DEVICE_CLASS,
} else if (strcasecmp(key, "Class") == 0) {
unsigned int class = g_variant_get_uint32(val);
size += __bt_insert_hal_properties(buf + size, HAL_PROP_DEVICE_CLASS,
ev->num_props++;
DBG("Device Name [%s] Property num [%d]", name, ev->num_props);
}
ev->num_props++;
DBG("Device Name [%s] Property num [%d]", name, ev->num_props);
}
} else if (strcasecmp(key, "Connected") == 0) {
unsigned int connected = g_variant_get_byte(val);
} else if (strcasecmp(key, "Connected") == 0) {
unsigned int connected = g_variant_get_byte(val);
GVariantIter *property_iter;
GVariantIter *char_desc_iter;
char* char_handle = NULL;
GVariantIter *property_iter;
GVariantIter *char_desc_iter;
char* char_handle = NULL;
- const gchar *char_uuid_str = NULL;
+ gchar *char_uuid_str = NULL;
GPtrArray *gp_desc_array = NULL;
GVariantIter *char_perm_iter;
gchar* permission;
GPtrArray *gp_desc_array = NULL;
GVariantIter *char_perm_iter;
gchar* permission;
_hal_gattc_update_char_property(gattc_char, char_uuid_str, gp_desc_array, char_permission);
_hal_gattc_update_char_property(gattc_char, char_uuid_str, gp_desc_array, char_permission);
g_variant_iter_free(property_iter);
g_variant_unref(result);
g_object_unref(properties_proxy);
g_variant_iter_free(property_iter);
g_variant_unref(result);
g_object_unref(properties_proxy);
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
g_variant_new("(oa{sa{sv}})",
path, builder),
&error);
+ if (error != NULL) {
+ ERR("g_dbus_connection_emit_signal failed: errCode[%x], message[%s]",
+ error->code, error->message);
+ g_clear_error(&error);
+ }
//*desc_path = g_strdup(path);
//*desc_path = g_strdup(path);
update_value = g_variant_new("ay", inner_builder);
update_value = g_variant_new("ay", inner_builder);
- outer_builder = g_variant_builder_new(G_VARIANT_TYPE_ARRAY);
g_variant_builder_add(outer_builder, "{sv}", "Value",
update_value);
g_variant_builder_add(outer_builder, "{sv}", "Value",
update_value);
ev.channel_state = state;
if (!event_cb) {
ERR("HDP dbus handler callback not registered");
ev.channel_state = state;
if (!event_cb) {
ERR("HDP dbus handler callback not registered");
} else
event_cb(HAL_EV_HDP_CONN_STATE, (void *)&ev, sizeof(ev));
} else
event_cb(HAL_EV_HDP_CONN_STATE, (void *)&ev, sizeof(ev));
cur_adv_state[event->server_inst - 1] = new_state;
} else {
BT_ERR("Invalid Callback...");
cur_adv_state[event->server_inst - 1] = new_state;
} else {
BT_ERR("Invalid Callback...");
_bt_otp_start_write_on_fd();
else if (oacp_op->opcode == OACP_WRITE)
_bt_otp_start_read_on_fd();
_bt_otp_start_write_on_fd();
else if (oacp_op->opcode == OACP_WRITE)
_bt_otp_start_read_on_fd();
+ } else {
+ /* Close fd if oacp_op is NULL */
+ close(fd);
}
g_dbus_method_invocation_return_value(invocation, NULL);
}
}
g_dbus_method_invocation_return_value(invocation, NULL);
}
}
case OAL_EVENT_BLE_SERVER_INSTANCE_INITIALISED: {
BT_INFO("OAL Event: Server Instance Registered");
}
case OAL_EVENT_BLE_SERVER_INSTANCE_INITIALISED: {
BT_INFO("OAL Event: Server Instance Registered");
- event_gatts_register_t* event = g_memdup(event_data, sizeof(event_gatts_register_t));
- /* GATT Server Registered event is handled in MAIN thread context */
- __bt_le_handle_server_instance_registered(event);
+ __bt_le_handle_server_instance_registered((event_gatts_register_t *)event_data);
break;
}
case OAL_EVENT_BLE_ADVERTISING_STARTED: {
break;
}
case OAL_EVENT_BLE_ADVERTISING_STARTED: {
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_ENABLE: {
BT_INFO("OAL Event: Advertising Enabled");
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_ENABLE: {
BT_INFO("OAL Event: Advertising Enabled");
- event_ble_multiadv_status* event = (event_ble_multiadv_status*)g_memdup(event_data,
- sizeof(event_ble_multiadv_status));
- __bt_le_multi_advertising_enabled(event);
+ __bt_le_multi_advertising_enabled((event_ble_multiadv_status *)event_data);
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_DISABLE: {
BT_INFO("OAL Event: Advertising Disabled");
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_DISABLE: {
BT_INFO("OAL Event: Advertising Disabled");
- event_ble_multiadv_status* event = (event_ble_multiadv_status*)g_memdup(event_data,
- sizeof(event_ble_multiadv_status));
- __bt_le_multi_advertising_disabled(event);
+ __bt_le_multi_advertising_disabled((event_ble_multiadv_status *)event_data);
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_SET_INST_DATA: {
BT_INFO("OAL Event: Advertising Data set successfully");
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_SET_INST_DATA: {
BT_INFO("OAL Event: Advertising Data set successfully");
- event_ble_multiadv_status* event = (event_ble_multiadv_status*)g_memdup(event_data,
- sizeof(event_ble_multiadv_status));
- __bt_le_multi_advertising_set_data(event);
+ __bt_le_multi_advertising_set_data((event_ble_multiadv_status *)event_data);
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_UPDATE: {
break;
}
case OAL_EVENT_BLE_MULTI_ADVERTISING_UPDATE: {
BLUETOOTH_EVENT_ADVERTISING_MANUFACTURER_DATA_CHANGED,
param);
}
BLUETOOTH_EVENT_ADVERTISING_MANUFACTURER_DATA_CHANGED,
param);
}
}
/* Time to update new ADV data completely in Table */
}
/* Time to update new ADV data completely in Table */
}
static void __bt_handle_gatt_server_service_added(event_gatts_srvc_prm_t *event)
}
static void __bt_handle_gatt_server_service_added(event_gatts_srvc_prm_t *event)
_bt_uuid_to_string(&(event->charctr_uuid), uuid_str);
BT_INFO("GATT Added Characteristic: UUID: [%s]", uuid_str);
_bt_uuid_to_string(&(event->charctr_uuid), uuid_str);
BT_INFO("GATT Added Characteristic: UUID: [%s]", uuid_str);
_bt_uuid_to_string(&(event->descrptr_uuid), uuid_str);
BT_INFO("GATT Added Descriptor: UUID: [%s]", uuid_str);
_bt_uuid_to_string(&(event->descrptr_uuid), uuid_str);
BT_INFO("GATT Added Descriptor: UUID: [%s]", uuid_str);
}
static void __bt_handle_gatt_server_service_stopped(event_gatts_srvc_t *event)
}
static void __bt_handle_gatt_server_service_stopped(event_gatts_srvc_t *event)
}
static void __bt_handle_gatt_server_service_deleted(event_gatts_srvc_t *event)
}
static void __bt_handle_gatt_server_service_deleted(event_gatts_srvc_t *event)
}
static struct gatt_client_info_t *__bt_find_remote_gatt_client_info(char *address)
}
static struct gatt_client_info_t *__bt_find_remote_gatt_client_info(char *address)
struct gatt_client_info_t *conn_info = NULL;
bluetooth_device_address_t dev_addr;
struct gatt_client_info_t *conn_info = NULL;
bluetooth_device_address_t dev_addr;
- char *address = g_malloc0(BT_ADDRESS_STRING_SIZE);
+ char address[BT_ADDRESS_STRING_SIZE];
memcpy(dev_addr.addr, event->address.addr, 6);
memcpy(dev_addr.addr, event->address.addr, 6);
g_free(conn_info->addr);
g_free(conn_info);
}
g_free(conn_info->addr);
g_free(conn_info);
}
if (event->length <= 0) {
BT_INFO("GATT Server write requested, but length of attr value is 0");
if (event->length <= 0) {
BT_INFO("GATT Server write requested, but length of attr value is 0");
BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGED,
param);
BLUETOOTH_EVENT_GATT_SERVER_VALUE_CHANGED,
param);
_bt_send_event(BT_GATT_SERVER_EVENT,
BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED,
param);
_bt_send_event(BT_GATT_SERVER_EVENT,
BLUETOOTH_EVENT_GATT_SERVER_READ_REQUESTED,
param);
}
static void __bt_handle_gatt_server_indicate_confirmed(event_gatts_ind_cnfrm_t *event)
}
static void __bt_handle_gatt_server_indicate_confirmed(event_gatts_ind_cnfrm_t *event)
param);
BT_INFO("Received Indication confirm for client number [%d]", recvd);
param);
BT_INFO("Received Indication confirm for client number [%d]", recvd);
BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED,
param);
BLUETOOTH_EVENT_GATT_SERVER_NOTIFICATION_STATE_CHANGED,
param);
conn_info = __bt_find_remote_gatt_client_info_from_conn_id(event->conn_id);
if (conn_info == NULL) {
BT_ERR("Cant find connection Information");
conn_info = __bt_find_remote_gatt_client_info_from_conn_id(event->conn_id);
if (conn_info == NULL) {
BT_ERR("Cant find connection Information");
return;
}
BT_INFO("Got connection Info GATT client [%s] MTU Size [%d]",
return;
}
BT_INFO("Got connection Info GATT client [%s] MTU Size [%d]",
_bt_send_event(BT_GATT_SERVER_EVENT,
BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED,
param);
_bt_send_event(BT_GATT_SERVER_EVENT,
BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED,
param);
}
static void __bt_gatt_event_handler(int event_type, gpointer event_data)
}
static void __bt_gatt_event_handler(int event_type, gpointer event_data)
switch (event_type) {
case OAL_EVENT_BLE_SERVER_INSTANCE_INITIALISED: {
BT_INFO("OAL Event: Server Instance Registered");
switch (event_type) {
case OAL_EVENT_BLE_SERVER_INSTANCE_INITIALISED: {
BT_INFO("OAL Event: Server Instance Registered");
- event_gatts_register_t* event = g_memdup(event_data, sizeof(event_gatts_register_t));
/* GATT Server Registered event is handled in MAIN thread context */
/* GATT Server Registered event is handled in MAIN thread context */
- __bt_handle_server_instance_registered(event);
+ __bt_handle_server_instance_registered((event_gatts_register_t *)event_data);
break;
}
case OAL_EVENT_GATTS_SERVICE_ADDED: {
BT_INFO("OAL Event: GATT Service added");
break;
}
case OAL_EVENT_GATTS_SERVICE_ADDED: {
BT_INFO("OAL Event: GATT Service added");
- event_gatts_srvc_prm_t *service_parm = g_memdup(event_data, sizeof(event_gatts_srvc_prm_t));
- __bt_handle_gatt_server_service_added(service_parm);
+ __bt_handle_gatt_server_service_added((event_gatts_srvc_prm_t *)event_data);
break;
}
case OAL_EVENT_GATTS_CHARACTERISTIC_ADDED: {
BT_INFO("OAL Event: GATT characteristic added");
break;
}
case OAL_EVENT_GATTS_CHARACTERISTIC_ADDED: {
BT_INFO("OAL Event: GATT characteristic added");
- event_gatts_srvc_charctr_t *char_parm = g_memdup(event_data, sizeof(event_gatts_srvc_charctr_t));
- __bt_handle_gatt_server_characteristic_added(char_parm);
+ __bt_handle_gatt_server_characteristic_added((event_gatts_srvc_charctr_t *)event_data);
break;
}
case OAL_EVENT_GATTS_DESCRIPTOR_ADDED: {
BT_INFO("OAL Event: GATT descriptor added");
break;
}
case OAL_EVENT_GATTS_DESCRIPTOR_ADDED: {
BT_INFO("OAL Event: GATT descriptor added");
- event_gatts_srvc_descr_t *desc_parm = g_memdup(event_data, sizeof(event_gatts_srvc_descr_t));
- __bt_handle_gatt_server_descriptor_added(desc_parm);
+ __bt_handle_gatt_server_descriptor_added((event_gatts_srvc_descr_t *)event_data);
break;
}
case OAL_EVENT_GATTS_SERVICE_STARTED: {
BT_INFO("OAL Event: GATT Service started");
break;
}
case OAL_EVENT_GATTS_SERVICE_STARTED: {
BT_INFO("OAL Event: GATT Service started");
- event_gatts_srvc_t *svc_started = g_memdup(event_data, sizeof(event_gatts_srvc_t));
- __bt_handle_gatt_server_service_started(svc_started);
+ __bt_handle_gatt_server_service_started((event_gatts_srvc_t *)event_data);
break;
}
case OAL_EVENT_GATTS_SERVICE_STOPED: {
BT_INFO("OAL Event: GATT Service stopped");
break;
}
case OAL_EVENT_GATTS_SERVICE_STOPED: {
BT_INFO("OAL Event: GATT Service stopped");
- event_gatts_srvc_t *svc_stopped = g_memdup(event_data, sizeof(event_gatts_srvc_t));
- __bt_handle_gatt_server_service_stopped(svc_stopped);
+ __bt_handle_gatt_server_service_stopped((event_gatts_srvc_t *)event_data);
break;
}
case OAL_EVENT_GATTS_SERVICE_DELETED: {
BT_INFO("OAL Event: GATT Service deleted");
break;
}
case OAL_EVENT_GATTS_SERVICE_DELETED: {
BT_INFO("OAL Event: GATT Service deleted");
- event_gatts_srvc_t *svc_deleted = g_memdup(event_data, sizeof(event_gatts_srvc_t));
- __bt_handle_gatt_server_service_deleted(svc_deleted);
+ __bt_handle_gatt_server_service_deleted((event_gatts_srvc_t *) event_data);
break;
}
case OAL_EVENT_GATTS_CONNECTION_COMPLETED: {
BT_INFO("OAL Event: GATT Server Connected");
break;
}
case OAL_EVENT_GATTS_CONNECTION_COMPLETED: {
BT_INFO("OAL Event: GATT Server Connected");
- event_gatts_conn_t* event = g_memdup(event_data, sizeof(event_gatts_conn_t));
- __bt_handle_gatt_server_connection_state(event);
+ __bt_handle_gatt_server_connection_state((event_gatts_conn_t *)event_data);
break;
}
case OAL_EVENT_GATTS_DISCONNECTION_COMPLETED: {
BT_INFO("OAL Event: GATT Server Disconnected");
break;
}
case OAL_EVENT_GATTS_DISCONNECTION_COMPLETED: {
BT_INFO("OAL Event: GATT Server Disconnected");
- event_gatts_conn_t* event = g_memdup(event_data, sizeof(event_gatts_conn_t));
- __bt_handle_gatt_server_disconnection_state(event);
+ __bt_handle_gatt_server_disconnection_state((event_gatts_conn_t *)event_data);
break;
}
case OAL_EVENT_GATTS_REQUEST_READ: {
BT_INFO("OAL Event: GATT Server Read Request");
break;
}
case OAL_EVENT_GATTS_REQUEST_READ: {
BT_INFO("OAL Event: GATT Server Read Request");
- event_gatts_srvc_read_attr_t *read_req = g_memdup(event_data, sizeof(event_gatts_srvc_read_attr_t));
- __bt_handle_gatt_server_read_requested(read_req);
+ __bt_handle_gatt_server_read_requested((event_gatts_srvc_read_attr_t *)event_data);
break;
}
case OAL_EVENT_GATTS_REQUEST_WRITE: {
BT_INFO("OAL Event: GATT Server Write Request");
break;
}
case OAL_EVENT_GATTS_REQUEST_WRITE: {
BT_INFO("OAL Event: GATT Server Write Request");
- event_gatts_srvc_write_attr_t *write_req = g_memdup(event_data, sizeof(event_gatts_srvc_write_attr_t));
- __bt_handle_gatt_server_write_requested(write_req);
+ __bt_handle_gatt_server_write_requested((event_gatts_srvc_write_attr_t *)event_data);
break;
}
case OAL_EVENT_GATTS_IND_CONFIRM: {
BT_INFO("OAL Event: GATT Server Indication confirmed");
break;
}
case OAL_EVENT_GATTS_IND_CONFIRM: {
BT_INFO("OAL Event: GATT Server Indication confirmed");
- event_gatts_ind_cnfrm_t *parm = g_memdup(event_data, sizeof(event_gatts_ind_cnfrm_t));
- __bt_handle_gatt_server_indicate_confirmed(parm);
+ __bt_handle_gatt_server_indicate_confirmed((event_gatts_ind_cnfrm_t *)event_data);
break;
}
case OAL_EVENT_GATTS_NOTIFICATION: { /* Tizen Platform Specific */
BT_INFO("OAL Event: GATT Server DisConnected");
break;
}
case OAL_EVENT_GATTS_NOTIFICATION: { /* Tizen Platform Specific */
BT_INFO("OAL Event: GATT Server DisConnected");
- event_gatts_notif_t* notif = g_memdup(event_data, sizeof(event_gatts_notif_t));
- __bt_handle_gatt_server_notification_changed(notif);
+ __bt_handle_gatt_server_notification_changed((event_gatts_notif_t *)event_data);
break;
}
case OAL_EVENT_GATTS_MTU_CHANGED: {
BT_INFO("OAL Event: GATT Server MTU changed event callback");
break;
}
case OAL_EVENT_GATTS_MTU_CHANGED: {
BT_INFO("OAL Event: GATT Server MTU changed event callback");
- event_gatts_mtu_changed_t *mtu_changed = g_memdup(event_data, sizeof(event_gatts_mtu_changed_t));
- __bt_handle_gatt_mtu_changed_event(mtu_changed);
+ __bt_handle_gatt_mtu_changed_event((event_gatts_mtu_changed_t *)event_data);
break;
}
#ifdef TIZEN_GATT_CLIENT
break;
}
#ifdef TIZEN_GATT_CLIENT
- g_object_unref(message_access_proxy);
+ if (message_access_proxy)
+ g_object_unref(message_access_proxy);
BT_DBG("-");
return result;
BT_DBG("-");
return result;
- g_object_unref(message_proxy);
+ if (message_proxy)
+ g_object_unref(message_proxy);
BT_DBG("-");
return result;
BT_DBG("-");
return result;