ZigbeeServiceInterfaceRespCbData_t *resp_cb_data = NULL;
GVariantIter *iter = NULL;
- gint i = 0;
+ guint i = 0;
gboolean ret;
memset(&req, 0x0, sizeof(ZigbeeZclGlobalControlReadAttributesRequest_t));
- req.attribute_id = g_try_malloc0_n(attribute_ids_length, sizeof(unsigned char));
+ req.attribute_id = g_try_malloc0_n(attribute_ids_length, sizeof(unsigned short));
if (NULL == req.attribute_id) {
Z_LOGE("Failed to allocation !");
g_variant_get(attribute_id, "a(y)", &iter);
while (g_variant_iter_loop(iter, "(y)", &(req.attribute_id[i]))) {
i++;
- if (i >= attribute_ids_length)
+ if (i >= (attribute_ids_length * sizeof(unsigned short)))
break;
}
req.attribute_id_len = attribute_ids_length;
in_req = (ZigbeeZclGlobalControlReadAttributesRequest_t *)request_data;
if (NULL != in_req) {
+ guint i;
/* Allocate memory */
req = (ZigbeeZclGlobalControlReadAttributesRequest_t *)
g_malloc0(sizeof(ZigbeeZclGlobalControlReadAttributesRequest_t));
/* Copy data */
- req->attribute_id = g_memdup(in_req->attribute_id, in_req->attribute_id_len);
+ for (i = 0; i < (in_req->attribute_id_len * sizeof(short)); i++)
+ Z_LOGE("in_req->attribute_id[%d] = 0x%X", i, in_req->attribute_id[i]);
+ req->attribute_id = g_memdup(in_req->attribute_id,
+ in_req->attribute_id_len * sizeof(short));
req->attribute_id_len = in_req->attribute_id_len;
req->node_id = in_req->node_id;
req->cluster_id = in_req->cluster_id;