From 13ed7506b88f82b36b14c98730e93dae147d35a0 Mon Sep 17 00:00:00 2001 From: Youngman Park Date: Tue, 28 Aug 2012 21:19:44 +0900 Subject: [PATCH] add exception code for g_variant_iter_free() --- src/sap.c | 9 ++++++++- src/sat_manager.c | 17 ++++++++++++----- src/sat_ui_support/sat_ui_support.c | 10 ++++++++-- src/sim.c | 7 ++++++- 4 files changed, 34 insertions(+), 9 deletions(-) diff --git a/src/sap.c b/src/sap.c index 65911c0..6df88bd 100644 --- a/src/sap.c +++ b/src/sap.c @@ -39,6 +39,13 @@ #include "generated-code.h" #include "common.h" +#define g_variant_iter_free0( iter ) \ + if ( iter ) \ + g_variant_iter_free( iter );\ + else \ + dbg("iter : 0"); + + static gboolean on_sap_connect(TelephonySap *sap, GDBusMethodInvocation *invocation, gint arg_req_max_size, gpointer user_data) { @@ -133,7 +140,7 @@ static gboolean on_sap_transfer_apdu(TelephonySap *sap, GDBusMethodInvocation *i i++; } t_apdu.apdu_length = (unsigned int)i; - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); g_variant_unref(arg_req_apdu); diff --git a/src/sat_manager.c b/src/sat_manager.c index 12b607c..8722dd5 100755 --- a/src/sat_manager.c +++ b/src/sat_manager.c @@ -44,6 +44,13 @@ #define SAT_DEF_CMD_Q_MAX 10 #define SAT_TIME_OUT 60000 +#define g_variant_iter_free0( iter ) \ + if ( iter ) \ + g_variant_iter_free( iter );\ + else \ + dbg("iter : 0"); + + static unsigned int _get_time_in_ms(struct tel_sat_duration *dr) { switch (dr->time_unit) { @@ -2903,7 +2910,7 @@ static gboolean sat_manager_handle_receive_data_result(struct custom_data *ctx, tr->terminal_rsp_data.receive_data.channel_data.data_string[index] = data; index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); dbg("the last index data(%d), data_total_len(%d)", index, data_str_len); } @@ -3338,7 +3345,7 @@ static gboolean _sat_manager_handle_menu_select_confirm(struct custom_data *ctx, item_id = data; index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); } @@ -3506,7 +3513,7 @@ static gboolean _sat_manager_handle_get_inkey_confirm(struct custom_data *ctx, T inkey_data[index] = data; index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); inkey_data_len = index; } @@ -3662,7 +3669,7 @@ static gboolean _sat_manager_handle_get_input_confirm(struct custom_data *ctx, T input_data[index] = data; index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); input_data_len = index; } @@ -3801,7 +3808,7 @@ static gboolean _sat_manager_handle_setup_call_confirm(struct custom_data *ctx, input_data[index] = data; index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); input_data_len = index; } diff --git a/src/sat_ui_support/sat_ui_support.c b/src/sat_ui_support/sat_ui_support.c index 4dbd3a0..66a1be1 100644 --- a/src/sat_ui_support/sat_ui_support.c +++ b/src/sat_ui_support/sat_ui_support.c @@ -11,6 +11,12 @@ #include "TelSat.h" #include "sat_ui_support.h" +#define g_variant_iter_free0( iter ) \ + if ( iter ) \ + g_variant_iter_free( iter );\ + else \ + dbg("iter : 0"); + static gboolean _sat_ui_support_processing_setup_menu_ind(GVariant *data) { gint rv; @@ -48,7 +54,7 @@ static gboolean _sat_ui_support_processing_setup_menu_ind(GVariant *data) memcpy(setup_menu.satMainMenuItem[index].itemString, item_str, TAPI_SAT_DEF_ITEM_STR_LEN_MAX + 6); index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); } setup_menu.bIsSatMainMenuHelpInfo = (b_helpinfo ? 1 : 0); setup_menu.bIsUpdatedSatMainMenu = (b_updated ? 1 : 0); @@ -154,7 +160,7 @@ static gboolean _sat_ui_support_processing_select_item_ind(GVariant *data) memcpy(select_item.menuItem[index].text, item_str, TAPI_SAT_ITEM_TEXT_LEN_MAX + 1); index++; } - g_variant_iter_free(iter); + g_variant_iter_free0(iter); } cmd_type = g_strdup_printf("%d", SAT_PROATV_CMD_SELECT_ITEM); diff --git a/src/sim.c b/src/sim.c index 54242e7..6b0c7a5 100644 --- a/src/sim.c +++ b/src/sim.c @@ -40,6 +40,11 @@ #include "generated-code.h" #include "common.h" +#define g_variant_iter_free0( iter ) \ + if ( iter ) \ + g_variant_iter_free( iter );\ + else \ + dbg("iter : 0"); static gboolean dbus_sim_data_request(struct custom_data *ctx, enum tel_sim_status sim_status ) { @@ -691,7 +696,7 @@ static gboolean on_sim_transfer_apdu(TelephonySim *sim, GDBusMethodInvocation *i i++; } send_apdu.apdu_length = (unsigned int)i; - g_variant_iter_free(iter); + g_variant_iter_free0(iter); g_variant_unref(inner_gv); g_variant_unref(arg_apdu); -- 2.7.4