From 503c669316f6fdd883e6eb33b38133b82fd89776 Mon Sep 17 00:00:00 2001 From: Deokhyun Kim Date: Fri, 1 Sep 2017 09:15:48 +0900 Subject: [PATCH] Fix SVace issue. Change-Id: I7e378df32053d85e7a8998b946f1f30b58e4e5de Signed-off-by: Deokhyun Kim --- bt-api/bt-gatt-client.c | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/bt-api/bt-gatt-client.c b/bt-api/bt-gatt-client.c index af3c69f..9bf8c55 100644 --- a/bt-api/bt-gatt-client.c +++ b/bt-api/bt-gatt-client.c @@ -229,31 +229,35 @@ BT_EXPORT_API int bluetooth_gatt_get_service_property(const char *service_handle } else if (!g_strcmp0(key, "Includes")) { g_variant_get(value, "ao", &char_iter); - gp_array = g_ptr_array_new(); - while (g_variant_iter_loop(char_iter, "&o", &char_handle)) - g_ptr_array_add(gp_array, (gpointer)char_handle); - - if (gp_array->len != 0) { - service->include_handles.count = gp_array->len; - service->include_handles.handle = - __get_string_array_from_gptr_array(gp_array); + if (char_iter != NULL) { + gp_array = g_ptr_array_new(); + while (g_variant_iter_loop(char_iter, "&o", &char_handle)) + g_ptr_array_add(gp_array, (gpointer)char_handle); + + if (gp_array->len != 0) { + service->include_handles.count = gp_array->len; + service->include_handles.handle = + __get_string_array_from_gptr_array(gp_array); + } + g_ptr_array_free(gp_array, TRUE); + g_variant_iter_free(char_iter); } - g_ptr_array_free(gp_array, TRUE); - g_variant_iter_free(char_iter); } else if (!g_strcmp0(key, "Characteristics")) { g_variant_get(value, "ao", &char_iter); - gp_array = g_ptr_array_new(); - while (g_variant_iter_loop(char_iter, "&o", &char_handle)) - g_ptr_array_add(gp_array, (gpointer)char_handle); - - if (gp_array->len != 0) { - service->char_handle.count = gp_array->len; - service->char_handle.handle = - __get_string_array_from_gptr_array(gp_array); + if (char_iter != NULL) { + gp_array = g_ptr_array_new(); + while (g_variant_iter_loop(char_iter, "&o", &char_handle)) + g_ptr_array_add(gp_array, (gpointer)char_handle); + + if (gp_array->len != 0) { + service->char_handle.count = gp_array->len; + service->char_handle.handle = + __get_string_array_from_gptr_array(gp_array); + } + g_ptr_array_free(gp_array, TRUE); + g_variant_iter_free(char_iter); } BT_DBG("Characteristics count : %d", service->char_handle.count); - g_ptr_array_free(gp_array, TRUE); - g_variant_iter_free(char_iter); } } -- 2.7.4