From: Cheoleun Moon Date: Mon, 17 Feb 2020 11:25:08 +0000 (+0900) Subject: The length of byte array should precede the byte array X-Git-Tag: submit/tizen/20200403.050222~2^2~63^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a506cffadc16349315f5ad87c8ab332c447c1ae1;p=platform%2Fcore%2Fapi%2Fwifi-aware.git The length of byte array should precede the byte array --- diff --git a/src/wifi-aware-gdbus.c b/src/wifi-aware-gdbus.c index c05e530..c3ac66e 100644 --- a/src/wifi-aware-gdbus.c +++ b/src/wifi-aware-gdbus.c @@ -210,7 +210,7 @@ static GVariant *__create_enable_request_param(wifi_aware_enable_request_s *req) return params; } -static GVariant *__pack_byte_array(const unsigned char *array, uint16_t size) +static GVariant *__pack_byte_array(const unsigned char *array, uint16_t len) { GVariantBuilder *builder = NULL; GVariant *var = NULL; @@ -222,7 +222,7 @@ static GVariant *__pack_byte_array(const unsigned char *array, uint16_t size) builder = g_variant_builder_new(G_VARIANT_TYPE("ay")); - for (int i = 0; i < size; ++i) + for (int i = 0; i < len; ++i) g_variant_builder_add(builder, "y", array[i]); var = g_variant_new("ay", builder); @@ -240,12 +240,12 @@ static GVariant *__create_publish_request_param(int client_id, wifi_aware_publis g_variant_builder_add(builder, "{sv}", "publish_type", g_variant_new("y", req->publish_type)); g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name)); if (req->specific_info_len > 0 && req->specific_info != NULL) { - g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len)); + g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); } if (req->match_filter_len > 0 && req->match_filter != NULL) { - g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len)); + g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); } g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event)); g_variant_builder_add(builder, "{sv}", "enable_ranging", g_variant_new("b", req->enable_ranging)); @@ -271,12 +271,12 @@ static GVariant *__create_update_publish_request_param(int client_id, g_variant_builder_add(builder, "{sv}", "publish_type", g_variant_new("y", req->publish_type)); g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name)); if (req->specific_info_len > 0 && req->specific_info != NULL) { - g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len)); + g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); } if (req->match_filter_len > 0 && req->match_filter != NULL) { - g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len)); + g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); } g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event)); g_variant_builder_add(builder, "{sv}", "enable_ranging", g_variant_new("b", req->enable_ranging)); @@ -296,12 +296,12 @@ static GVariant *__create_subscribe_request_param(int client_id, wifi_aware_subs g_variant_builder_add(builder, "{sv}", "subscribe_type", g_variant_new("y", req->subscribe_type)); g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name)); if (req->specific_info_len > 0 && req->specific_info != NULL) { - g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len)); + g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); } if (req->match_filter_len > 0 && req->match_filter != NULL) { - g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len)); + g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); } g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event)); @@ -326,12 +326,12 @@ static GVariant *__create_update_subscribe_request_param(int client_id, g_variant_builder_add(builder, "{sv}", "subscribe_type", g_variant_new("y", req->subscribe_type)); g_variant_builder_add(builder, "{sv}", "service_name", g_variant_new("s", req->service_name)); if (req->specific_info_len > 0 && req->specific_info != NULL) { - g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); g_variant_builder_add(builder, "{sv}", "specific_info_len", g_variant_new("q", req->specific_info_len)); + g_variant_builder_add(builder, "{sv}", "specific_info", __pack_byte_array(req->specific_info, req->specific_info_len)); } if (req->match_filter_len > 0 && req->match_filter != NULL) { - g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); g_variant_builder_add(builder, "{sv}", "match_filter_len", g_variant_new("q", req->match_filter_len)); + g_variant_builder_add(builder, "{sv}", "match_filter", __pack_byte_array(req->match_filter, req->match_filter_len)); } g_variant_builder_add(builder, "{sv}", "enable_termination_event", g_variant_new("b", req->enable_termination_event));