diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-04-28 14:45:39 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-04-28 14:45:39 +0200 |
commit | 7a491b9d5f452692a89c5e4af2a6a88027b5af87 (patch) | |
tree | 18fc488db6d25d13b4958550322a5261d35be49a | |
parent | 5faedf3432364e575e4c6ad9947f61ffe184c95a (diff) |
ms: Fix unsafe iterating freeing items in list
Change-Id: I35cba6d617b3356515769405c7d05ba28cd5132b
-rw-r--r-- | src/gprs_ms.c | 2 |
1 files changed, 1 insertions, 1 deletions
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); |