return;
}
- ret = cion_server_send_payload_async(cion_client_, peer_, pl, nullptr, nullptr);
+ ret = cion_client_send_payload_async(cion_client_, pl, nullptr, nullptr);
if (ret != CION_ERROR_NONE) {
- _E("Failed to cion_server_send_payload_async : %d", ret);
+ _E("Failed to cion_client_send_payload_async : %d", ret);
cion_payload_destroy(pl);
return;
}
cion_peer_info_get_app_id(s->get()->GetPeer(), &service_app_id);
cion_peer_info_get_app_id(s->get()->GetPeer(), &service_uuid);
if (strcmp(peer_app_id, service_app_id) == 0 &&
- strcmp(peer_uuid, service_uuid)) {
+ strcmp(peer_uuid, service_uuid) == 0) {
stub->services_.erase(s);
return;
}
cion_peer_info_get_app_id(s->GetPeer(), &service_app_id);
cion_peer_info_get_app_id(s->GetPeer(), &service_uuid);
if (strcmp(peer_app_id, service_app_id) == 0 &&
- strcmp(peer_uuid, service_uuid)) {
+ strcmp(peer_uuid, service_uuid) == 0) {
b = s;
break;
}
cion_peer_info_get_app_id(s->GetPeer(), &service_app_id);
cion_peer_info_get_app_id(s->GetPeer(), &service_uuid);
if (strcmp(peer_app_id, service_app_id) == 0 &&
- strcmp(peer_uuid, service_uuid)) {
+ strcmp(peer_uuid, service_uuid) == 0) {
b = s;
break;
}
}
+ if (b.get() == nullptr) {
+ _E("Failed to find service base(%s)", peer_app_id);
+ return;
+ }
+
int ret = rpc_port_parcel_create_from_raw(&p, data, data_size);
if (ret != 0) {
_E("Failed to create parcel from port");
return;
}
- ret = rpc_port_parcel_get_raw(result, (void **)return_data, return_data_size);
+ void *raw_data;
+ ret = rpc_port_parcel_get_raw(result, &raw_data, return_data_size);
if (ret != RPC_PORT_ERROR_NONE) {
_E("Failed to get raw. error(%d)", ret);
rpc_port_parcel_destroy(p);
return;
}
+ *return_data = (unsigned char *)malloc(sizeof(unsigned char) * *return_data_size);
+ if (*return_data == NULL) {
+ *return_data_size = 0;
+ rpc_port_parcel_destroy(p);
+ rpc_port_parcel_destroy(result);
+ return;
+ }
+
+ memcpy(*return_data, raw_data, *return_data_size);
+
rpc_port_parcel_destroy(p);
rpc_port_parcel_destroy(result);
}