summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Ovsienko <infrastation@yandex.ru>2011-12-18 16:27:02 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2012-01-02 18:38:04 +0400
commit4e677f52db2276b92bcc201b4379a66a83d45caa (patch)
tree9abc7790ba98ed7a865cba20c7f4fd3947dbf9e3
parentfe40bfa2e1b913e24d6b8374fd83a19d00ad7c1c (diff)
ospfd: fix bug in NSSA ABR status check
* ospf_abr.c * ospf_abr_nssa_am_elected(): feed "best" instead of "address of best" into IPV4_ADDR_CMP(), because "best" is a pointer; also, mean s_addr field of the structures to get better typed pointers
-rw-r--r--ospfd/ospf_abr.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ospfd/ospf_abr.c b/ospfd/ospf_abr.c
index 846b90df..b7cc20dd 100644
--- a/ospfd/ospf_abr.c
+++ b/ospfd/ospf_abr.c
@@ -384,7 +384,7 @@ ospf_abr_nssa_am_elected (struct ospf_area *area)
if (best == NULL)
best = &lsa->data->id;
else
- if ( IPV4_ADDR_CMP (&best, &lsa->data->id) < 0)
+ if (IPV4_ADDR_CMP (&best->s_addr, &lsa->data->id.s_addr) < 0)
best = &lsa->data->id;
}
@@ -395,7 +395,7 @@ ospf_abr_nssa_am_elected (struct ospf_area *area)
if (best == NULL)
return 1;
- if ( IPV4_ADDR_CMP (&best, &area->ospf->router_id) < 0)
+ if (IPV4_ADDR_CMP (&best->s_addr, &area->ospf->router_id.s_addr) < 0)
return 1;
else
return 0;