From a5ee3b461d4930120e2e5b97e080324f3ae5adf4 Mon Sep 17 00:00:00 2001 From: David Waring Date: Thu, 23 Mar 2023 18:01:08 +0000 Subject: [PATCH] Free the AS state reference when the provisioning session is freed --- src/5gmsaf/context.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/5gmsaf/context.c b/src/5gmsaf/context.c index f805ff1..72020bf 100644 --- a/src/5gmsaf/context.c +++ b/src/5gmsaf/context.c @@ -678,6 +678,8 @@ free_ogs_hash_entry(void *rec, const void *key, int klen, const void *value) void msaf_context_provisioning_session_free(msaf_provisioning_session_t *provisioning_session) { + msaf_application_server_state_ref_node_t *next_as_state_ref, *as_state_ref; + ogs_assert(provisioning_session); if (provisioning_session->certificate_map) { free_ogs_hash_context_t fohc = { @@ -697,7 +699,11 @@ msaf_context_provisioning_session_free(msaf_provisioning_session_t *provisioning if (provisioning_session->serviceAccessInformation) OpenAPI_service_access_information_resource_free(provisioning_session->serviceAccessInformation); if (provisioning_session->serviceAccessInformationHash) ogs_free(provisioning_session->serviceAccessInformationHash); - + + ogs_list_for_each_safe(&provisioning_session->application_server_states, next_as_state_ref, as_state_ref) { + ogs_list_remove(&provisioning_session->application_server_states, as_state_ref); + ogs_free(as_state_ref); + } ogs_free(provisioning_session); }