aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--epan/dissectors/packet-zbee-nwk-gp.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/epan/dissectors/packet-zbee-nwk-gp.c b/epan/dissectors/packet-zbee-nwk-gp.c
index 3df30f5f3c..ebcec0f9a5 100644
--- a/epan/dissectors/packet-zbee-nwk-gp.c
+++ b/epan/dissectors/packet-zbee-nwk-gp.c
@@ -1460,13 +1460,28 @@ gp_init_zbee_security(void)
}
}
+static void zbee_free_key_record(gpointer ptr, gpointer user_data _U_)
+{
+ key_record_t *k;
+
+ k = (key_record_t *)ptr;
+ if (!k)
+ return;
+
+ g_free(k->label);
+ g_free(k);
+}
+
static void
gp_cleanup_zbee_security(void)
{
- if (zbee_gp_keyring) {
- g_slist_free(zbee_gp_keyring);
- zbee_gp_keyring = NULL;
- }
+ if (!zbee_gp_keyring)
+ return;
+
+ g_slist_foreach(zbee_gp_keyring, zbee_free_key_record, NULL);
+
+ g_slist_free(zbee_gp_keyring);
+ zbee_gp_keyring = NULL;
}
/*FUNCTION:------------------------------------------------------