pespin submitted this change.
llc: Free allocated LLMEs when freeing main context
Change-Id: Ifb51a956d5a41f01184db4d453c64128db439f7c
---
M src/llc/llc.c
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/llc/llc.c b/src/llc/llc.c
index 1c572d6..2ad0228 100644
--- a/src/llc/llc.c
+++ b/src/llc/llc.c
@@ -121,6 +121,16 @@
},
};
+static void gprs_llc_ctx_free(void)
+{
+ struct gprs_llc_llme *llme;
+
+ while ((llme = llist_first_entry_or_null(&g_ctx->llme_list, struct gprs_llc_llme, list)))
+ gprs_llc_llme_free(llme);
+
+ talloc_free(g_ctx);
+}
+
int osmo_gprs_llc_init(enum osmo_gprs_llc_location location, const char *cipher_plugin_path)
{
int rc;
@@ -132,7 +142,7 @@
}
if (g_ctx)
- talloc_free(g_ctx);
+ gprs_llc_ctx_free();
g_ctx = talloc_zero(NULL, struct gprs_llc_ctx);
g_ctx->location = location;
To view, visit change 32126. To unsubscribe, or for help writing mail filters, visit settings.