From 7a491b9d5f452692a89c5e4af2a6a88027b5af87 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 28 Apr 2023 14:45:39 +0200 Subject: ms: Fix unsafe iterating freeing items in list Change-Id: I35cba6d617b3356515769405c7d05ba28cd5132b --- src/gprs_ms.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 4cab8e48..d9e52ea5 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -409,7 +409,7 @@ static void ms_reset(struct GprsMs *ms) if (tbf && !tbf_timers_pending(tbf, T_MAX)) tbf_free(tbf); - llist_for_each_entry(pos, &ms->old_tbfs, list) { + while ((pos = llist_first_entry_or_null(&ms->old_tbfs, struct llist_item, list))) { tbf = (struct gprs_rlcmac_tbf *)pos->entry; if (!tbf_timers_pending(tbf, T_MAX)) tbf_free(tbf); -- cgit v1.2.3