summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospfd/ChangeLog6
-rw-r--r--ospfd/ospf_packet.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index e3a2dfed..369822d9 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -1,5 +1,11 @@
2004-07-27 Paul Jakma <paul@dishone.st>
+ * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
+ last fix for ospfd wedging due to oversize LSAs: dont list loop on
+ ospf_ls_upd_queue_send() - guaranteed segfault.
+
+2004-07-27 Paul Jakma <paul@dishone.st>
+
* ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
the LSA as then free_opaque_info_per_id() can never unlock (and
free) the LSA. Reported by Gunnar Stigen.
diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c
index 67215ebc..8aa63998 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -3123,11 +3123,7 @@ ospf_ls_upd_send_queue_event (struct thread *thread)
if (rn->info == NULL)
continue;
- for (tn = update->head; tn; tn = nn)
- {
- nn = tn->next;
- ospf_ls_upd_queue_send (oi, update, rn->p.u.prefix4);
- }
+ ospf_ls_upd_queue_send (oi, update, rn->p.u.prefix4);
/* list might not be empty.
* TODO: work out what to do about oversized LSAs.