fix mgcp_conn_free_all
It calls itself recursively which messes with the list an ep, so ubsan
complains.
Change-Id: If38ead0ba0c28396df2332990c98b2532cf17d1c
diff --git a/src/libosmo-mgcp/mgcp_conn.c b/src/libosmo-mgcp/mgcp_conn.c
index 4acf18c..4f6e1a2 100644
--- a/src/libosmo-mgcp/mgcp_conn.c
+++ b/src/libosmo-mgcp/mgcp_conn.c
@@ -328,12 +328,10 @@
void mgcp_conn_free_all(struct mgcp_endpoint *endp)
{
struct mgcp_conn *conn;
- struct mgcp_conn *conn_tmp;
- /* Drop all items in the list */
- llist_for_each_entry_safe(conn, conn_tmp, &endp->conns, entry) {
+ /* Drop all items in the list, might be consecutive! */
+ while ((conn = llist_first_entry_or_null(&endp->conns, struct mgcp_conn, entry)))
mgcp_conn_free(endp, conn->id);
- }
return;
}