From: paul Date: Thu, 26 Jun 2003 03:00:40 +0000 (+0000) Subject: 2003-06-26: Mikael Lonnroth X-Git-Tag: frr-2.0-rc1~3966 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=8cb90ff71db7582d94790e68e807dcbba8a24767;p=mirror%2Ffrr.git 2003-06-26: Mikael Lonnroth * ospf_packet.c: (ospf_ls_upd_send_queue_event) clean up list node and unlock lsa if we break early. (eg packet size too large). --- diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index e233ce0cd6..89d35c5847 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -2708,7 +2708,12 @@ ospf_make_ls_upd (struct ospf_interface *oi, list update, struct stream *s) /* Check packet size. */ if (length + delta + ntohs (lsa->data->length) > OSPF_PACKET_MAX (oi)) - break; + { + /* clean up */ + list_delete_node (update, node); + ospf_lsa_unlock (lsa); + break; + } /* Keep pointer to LS age. */ lsah = (struct lsa_header *) (STREAM_DATA (s) + stream_get_putp (s));