aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2019-08-17 10:28:55 +0200
committerMaria Matejka <mq@ucw.cz>2020-05-01 15:19:12 +0200
commita7d9b8f116d00194e94c7505cbc8ed7f8784eeab (patch)
tree29aa1dee752315aa6384cde28ecf42a8ddc065d3
parent0fa8bf91cd474e393ded85b329fde30ba35f6a26 (diff)
downloadbird-a7d9b8f116d00194e94c7505cbc8ed7f8784eeab.tar.gz
OSPF: Zero-initialization of a temporary neighbor
-rw-r--r--proto/ospf/neighbor.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/proto/ospf/neighbor.c b/proto/ospf/neighbor.c
index 30e80640..18692d6e 100644
--- a/proto/ospf/neighbor.c
+++ b/proto/ospf/neighbor.c
@@ -650,19 +650,20 @@ void
ospf_dr_election(struct ospf_iface *ifa)
{
struct ospf_proto *p = ifa->oa->po;
- struct ospf_neighbor *neigh, *ndr, *nbdr, me;
+ struct ospf_neighbor *neigh, *ndr, *nbdr;
u32 myid = p->router_id;
DBG("(B)DR election.\n");
- me.state = NEIGHBOR_2WAY;
- me.rid = myid;
- me.priority = ifa->priority;
- me.ip = ifa->addr->ip;
-
- me.dr = ospf_is_v2(p) ? ipa_to_u32(ifa->drip) : ifa->drid;
- me.bdr = ospf_is_v2(p) ? ipa_to_u32(ifa->bdrip) : ifa->bdrid;
- me.iface_id = ifa->iface_id;
+ struct ospf_neighbor me = {
+ .state = NEIGHBOR_2WAY,
+ .rid = myid,
+ .priority = ifa->priority,
+ .ip = ifa->addr->ip,
+ .dr = ospf_is_v2(p) ? ipa_to_u32(ifa->drip) : ifa->drid,
+ .bdr = ospf_is_v2(p) ? ipa_to_u32(ifa->bdrip) : ifa->bdrid,
+ .iface_id = ifa->iface_id,
+ };
add_tail(&ifa->neigh_list, NODE & me);