BT_CHECK_ENABLED(return);
- strcpy(buffer, "AT+XSAT=");
+ strncpy(buffer, "AT+XSAT=\0", 200);
snprintf(buffer + strlen(buffer), sizeof(buffer) - strlen(buffer),
"%d,", app_id);
strncat(buffer, xsat_cmd, (sizeof(buffer) - 1) - strlen(buffer));
g_variant_get(parameters, "(i&s@ay)", &result, &char_handle, &char_value_var);
len = g_variant_get_size(char_value_var);
+ ret_if (char_value_var == NULL);
+
if (len > 0)
value = (char *)g_variant_get_data(char_value_var);
if (char_val.char_value == NULL) {
BT_ERR("BLUETOOTH_ERROR_OUT_OF_MEMORY");
g_free(char_val.char_handle);
- if (char_value_var)
- g_variant_unref(char_value_var);
+ g_variant_unref(char_value_var);
return;
}
memcpy(char_val.char_value, value, len);
result, &char_val,
event_info->cb, event_info->user_data);
g_free(char_val.char_value);
- if (char_value_var)
- g_variant_unref(char_value_var);
+ g_variant_unref(char_value_var);
}
g_free(char_val.char_handle);
} else if (strcasecmp(signal_name, BT_DEVICE_CONNECTED) == 0) {
if (!__bt_gatt_get_service_state(serv_path)) {
BT_DBG("service not registered for this characteristic \n");
+ g_free(serv_path);
g_strfreev(line_argv);
return BLUETOOTH_ERROR_INTERNAL;
}
+ g_free(serv_path);
+
outer_builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
invalidated_builder = g_variant_builder_new(G_VARIANT_TYPE("as"));
return FALSE;
if (g_strcmp0(item, "adv_inst_max") == 0) {
- if (atoi(value) != le_feature_info.adv_inst_max) {
+ int slot_num;
+
+ slot_num = atoi(value);
+ retv_if(slot_num < 0, FALSE);
+
+ if (slot_num != le_feature_info.adv_inst_max) {
__bt_free_le_adv_slot();
- le_feature_info.adv_inst_max = atoi(value);
+ le_feature_info.adv_inst_max = slot_num;
BT_INFO("Advertising instance max : %d", le_feature_info.adv_inst_max);
le_adv_slot = g_malloc0(sizeof(bt_adapter_le_adv_slot_t) * le_feature_info.adv_inst_max);
}
retv_if(device_proxy == NULL, BLUETOOTH_ERROR_INTERNAL);
func_data = g_malloc0(sizeof(bt_function_data_t));
+ if (func_data == NULL) {
+ BT_ERR("Unable to allocate memory for address");
+ ret = BLUETOOTH_ERROR_MEMORY_ALLOCATION;
+ goto fail;
+ }
+
func_data->address = g_strdup(device_address);
if (func_data->address == NULL) {
BT_ERR("Unable to allocate memory for address");
retv_if(device_proxy == NULL, BLUETOOTH_ERROR_INTERNAL);
func_data = g_malloc0(sizeof(bt_function_data_t));
+ if (func_data == NULL) {
+ BT_ERR("Unable to allocate memory for address");
+ ret = BLUETOOTH_ERROR_MEMORY_ALLOCATION;
+ goto fail;
+ }
+
func_data->address = g_strdup(device_address);
if (func_data->address == NULL) {
BT_ERR("Unable to allocate memory for address");
bt_remote_dev_info_t *dev_info)
{
char *path = NULL;
- GVariant *optional_param;
+ GVariant *optional_param = NULL;
GVariantIter iter;
GVariant *child;
char *interface_name = NULL;
&path, &optional_param);
g_variant_iter_init(&iter, optional_param);
+ retv_if(optional_param == NULL, FALSE);
+
while ((child = g_variant_iter_next_value(&iter))) {
g_variant_get(child, "{&s@a{sv}}", &interface_name, &inner_iter);
if (g_strcmp0(interface_name, BT_DEVICE_INTERFACE) == 0) {
}
}
g_variant_unref(inner_iter);
- g_variant_unref(child);
+ g_variant_unref(child);
}
- if (optional_param)
- g_variant_unref(optional_param);
+
+ g_variant_unref(optional_param);
return FALSE;
}
break;
case BLUETOOTH_EVENT_SUPPORTED_PROFILE_TRUSTED:
signal = BT_SUPPORTED_PROFILE_TRUSTED;
+ break;
case BLUETOOTH_EVENT_KEYBOARD_PASSKEY_DISPLAY:
signal = BT_KBD_PASSKEY_DISPLAY_REQ_RECEIVED;
break;
break;
case BLUETOOTH_EVENT_GATT_ATT_MTU_CHANGED:
signal = BT_GATT_REQ_ATT_MTU_CHANGED;
+ break;
case BLUETOOTH_EVENT_IPSP_INIT_STATE_CHANGED:
signal = BT_IPSP_INITIALIZED;
break;
bt_obex_agent_info *info;
GDBusProxy *proxy;
GDBusNodeInfo *new_conn_node;
- GDBusNodeInfo *auth_reply_node;
+ GDBusNodeInfo *auth_reply_node = NULL;
GError *err = NULL;
info = __find_obex_agent_info((char *)path);
}
auth_reply_node = g_dbus_node_info_new_for_xml(obex_service_reply_xml3, NULL);
+
+ if (auth_reply_node == NULL) {
+ BT_ERR("Fail to create the node info for xml");
+ return FALSE;
+ }
+
info->obex_reply_id = g_dbus_connection_register_object(auth_reply_conn, info->path,
auth_reply_node->interfaces[0], &method_table, NULL, NULL, &err);
g_dbus_node_info_unref(auth_reply_node);
BT_DBG("Transfer id %d", transfer_info->transfer_id);
builder = g_variant_builder_new(G_VARIANT_TYPE("ay"));
- for (i = 0; i < 5; i++)
- g_variant_builder_add(builder, "y", agent_info.auth_info->contact_auth_info[i]);
+ for (i = 0; i < 5; i++) {
+ if (agent_info.auth_info)
+ g_variant_builder_add(builder, "y", agent_info.auth_info->contact_auth_info[i]);
+ }
param = g_variant_new("(isssstii(ay))", result,
transfer_info->device_name,
g_free(format_str);
g_free(order_str);
+ g_free(target_file);
BT_DBG("-");
return BLUETOOTH_ERROR_NONE;
g_free(format_str);
g_free(vcard_handle);
+ g_free(target_file);
BT_DBG("-");
return BLUETOOTH_ERROR_NONE;