Change in libosmocore[master]: gprs_ns2: gprs_ns2_free_bind() should remove itself before removing n...

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

lynxis lazus gerrit-no-reply at lists.osmocom.org
Thu Sep 2 17:25:26 UTC 2021


lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/25323 )


Change subject: gprs_ns2: gprs_ns2_free_bind() should remove itself before removing nsvcs
......................................................................

gprs_ns2: gprs_ns2_free_bind() should remove itself before removing nsvcs

When removing NSVCs before removing the bind from the SNS list, the removing NSVCs could
trigger a creation of a new NSVC on the same bind ending in a
while(true) loop.

Change-Id: I6f497348f75fb479427d8a4c23313e33fbc62036
---
M src/gb/gprs_ns2.c
1 file changed, 6 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/25323/1

diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c
index 3284cd6..417b9a0 100644
--- a/src/gb/gprs_ns2.c
+++ b/src/gb/gprs_ns2.c
@@ -1485,18 +1485,18 @@
 		return;
 	bind->freed = true;
 
-	/* prevent recursive free() because of events user/fsm */
-	while (!llist_empty(&bind->nsvc)) {
-		nsvc = llist_first_entry(&bind->nsvc, struct gprs_ns2_vc, blist);
-		gprs_ns2_free_nsvc(nsvc);
-	}
-
 	if (gprs_ns2_is_ip_bind(bind)) {
 		llist_for_each_entry(nse, &bind->nsi->nse, list) {
 			gprs_ns2_sns_del_bind(nse, bind);
 		}
 	}
 
+	/* prevent recursive free() because of events user/fsm */
+	while (!llist_empty(&bind->nsvc)) {
+		nsvc = llist_first_entry(&bind->nsvc, struct gprs_ns2_vc, blist);
+		gprs_ns2_free_nsvc(nsvc);
+	}
+
 	if (bind->driver->free_bind)
 		bind->driver->free_bind(bind);
 

-- 
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/25323
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I6f497348f75fb479427d8a4c23313e33fbc62036
Gerrit-Change-Number: 25323
Gerrit-PatchSet: 1
Gerrit-Owner: lynxis lazus <lynxis at fe80.eu>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210902/4d8e133d/attachment.htm>


More information about the gerrit-log mailing list