[SGSN] LLC: properly free LLC entities at TLLI unassignment
diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c
index edb4285..f45bd32 100644
--- a/openbsc/src/gprs/gprs_llc.c
+++ b/openbsc/src/gprs/gprs_llc.c
@@ -151,6 +151,12 @@
return llme;
}
+static void llme_free(struct gprs_llc_llme *llme)
+{
+ llist_del(&llme->list);
+ talloc_free(llme);
+}
+
enum gprs_llc_cmd {
GPRS_LLC_NULL,
GPRS_LLC_RR,
@@ -732,6 +738,7 @@
struct gprs_llc_lle *l = &llme->lle[i];
l->state = GPRS_LLES_UNASSIGNED;
}
+ llme_free(llme);
} else
return -EINVAL;