From ab164971891c64126097eedca11d2f5586f1d8e7 Mon Sep 17 00:00:00 2001 From: Ondrej Zajicek Date: Tue, 29 Mar 2011 01:41:46 +0200 Subject: Fixes a nasty bug in OSPF. Sending malformed network prefixes in LSAs causes OSPF to crash just after the LSA is propagated to the other routers. --- proto/ospf/packet.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'proto/ospf/packet.c') diff --git a/proto/ospf/packet.c b/proto/ospf/packet.c index ae9f862..3cda384 100644 --- a/proto/ospf/packet.c +++ b/proto/ospf/packet.c @@ -269,9 +269,10 @@ ospf_rx_hook(sock *sk, int size) struct proto_ospf *po = ifa->oa->po; // struct proto *p = &po->proto; - int src_local = ipa_in_net(sk->faddr, ifa->addr->prefix, ifa->addr->pxlen); - int dst_local = ipa_equal(sk->laddr, ifa->addr->ip); - int dst_mcast = ipa_equal(sk->laddr, AllSPFRouters) || ipa_equal(sk->laddr, AllDRouters); + int src_local, dst_local UNUSED, dst_mcast; + src_local = ipa_in_net(sk->faddr, ifa->addr->prefix, ifa->addr->pxlen); + dst_local = ipa_equal(sk->laddr, ifa->addr->ip); + dst_mcast = ipa_equal(sk->laddr, AllSPFRouters) || ipa_equal(sk->laddr, AllDRouters); #ifdef OSPFv2 /* First, we eliminate packets with strange address combinations. -- cgit v1.2.3