aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-tpncp.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/epan/dissectors/packet-tpncp.c b/epan/dissectors/packet-tpncp.c
index cbbf0ed170..fe48c4aea7 100644
--- a/epan/dissectors/packet-tpncp.c
+++ b/epan/dissectors/packet-tpncp.c
@@ -675,7 +675,7 @@ static gint init_tpncp_data_fields_info(tpncp_data_field_info *data_fields_info,
}
current_tpncp_data_field_info->tpncp_data_field_descr = -1;
hf_entr.p_id = &current_tpncp_data_field_info->tpncp_data_field_descr;
- current_tpncp_data_field_info->tpncp_data_field_name = g_strdup_printf("tpncp.%s", tpncp_data_field_name);
+ current_tpncp_data_field_info->tpncp_data_field_name = g_strdup_printf("tpncp.%s", tpncp_data_field_name);
hf_entr.hfinfo.name = current_tpncp_data_field_info->tpncp_data_field_name;
hf_entr.hfinfo.abbrev = current_tpncp_data_field_info->tpncp_data_field_name;
switch (tpncp_data_field_size) {
@@ -735,25 +735,30 @@ static gint init_tpncp_db(void) {
return (-1);
}
+ g_free(tpncp_dat_file_path);
+
ret = fill_tpncp_id_vals(tpncp_events_id_vals, file);
- if (ret != 0) return ret;
+ if (ret != 0)
+ goto done;
ret = fill_tpncp_id_vals(tpncp_commands_id_vals, file);
- if (ret != 0) return ret;
+ if (ret != 0)
+ goto done;
ret = fill_enums_id_vals(file);
- if (ret != 0) return ret;
+ if (ret != 0)
+ goto done;
ret = init_tpncp_data_fields_info(tpncp_events_info_db, file);
- if (ret != 0) return ret;
+ if (ret != 0)
+ goto done;
ret = init_tpncp_data_fields_info(tpncp_commands_info_db, file);
- if (ret != 0) return ret;
- g_free(tpncp_dat_file_path);
+done:
fclose(file);
- return 0;
+ return ret;
}
/*-------------------------------------------------------------------------------------------------------------------------------------------*/
@@ -768,7 +773,7 @@ void proto_reg_handoff_tpncp(void) {
* hf_ entry).
*/
if (proto_tpncp == -1)
- return;
+ return;
if (!tpncp_prefs_initialized) {
tpncp_tcp_handle = new_create_dissector_handle(dissect_tpncp_tcp, proto_tpncp);