aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gprs/gprs_sndcp.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2010-07-01 12:19:02 +0200
committerHarald Welte <laforge@gnumonks.org>2010-07-01 12:19:02 +0200
commit65d96783dfdc2db9e992f0197245c4f077453866 (patch)
tree9fd848c0dc0859cf7aad8753dac670bfba5e56d3 /openbsc/src/gprs/gprs_sndcp.c
parent875840c603defa333dd1eeced09f4b04c0af8fa8 (diff)
[SGSN] SNDCP: use llist_for_each_entry_safe() when cleaning frag queue
Diffstat (limited to 'openbsc/src/gprs/gprs_sndcp.c')
-rw-r--r--openbsc/src/gprs/gprs_sndcp.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/openbsc/src/gprs/gprs_sndcp.c b/openbsc/src/gprs/gprs_sndcp.c
index 3b6ca9628..20f4fc76f 100644
--- a/openbsc/src/gprs/gprs_sndcp.c
+++ b/openbsc/src/gprs/gprs_sndcp.c
@@ -198,10 +198,10 @@ static int defrag_input(struct gprs_sndcp_entity *sne, struct msgb *msg, uint8_t
/* first segment of a new packet. Discard all leftover fragments of
* previous packet */
if (!llist_empty(&sne->defrag.frag_list)) {
- struct defrag_queue_entry *dqe;
+ struct defrag_queue_entry *dqe, *dqe2;
LOGP(DSNDCP, LOGL_INFO, "Dropping SN-PDU due to "
"insufficient segments\n");
- llist_for_each_entry(dqe, &sne->defrag.frag_list, list) {
+ llist_for_each_entry_safe(dqe, dqe2, &sne->defrag.frag_list, list) {
llist_del(&dqe->list);
talloc_free(dqe);
}