summaryrefslogtreecommitdiff
path: root/ospfd/ospf_ism.c
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-05-12 23:07:27 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-05-12 23:07:27 +0000
commitdeb1561c1824d0a5215c8fcd0084393090a6567e (patch)
tree5c5cd51abefa9c9bd648d041ace9c6836a2f2980 /ospfd/ospf_ism.c
parentbfd7c7dc067f5a181a992fa0b8af31cfe5cdc9eb (diff)
[ospfd] CID #15, remove redundant NULL check in ism_change_state
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_ism.c: (ism_change_state) NULL check on oi->area is useless, it's always valid. Only possibility where it couldn't be is if there is a race between abr_task and cleaning up oi's, in which case a NULL check here isn't going to do anything. Fixes CID #15.
Diffstat (limited to 'ospfd/ospf_ism.c')
-rw-r--r--ospfd/ospf_ism.c19
1 files changed, 8 insertions, 11 deletions
diff --git a/ospfd/ospf_ism.c b/ospfd/ospf_ism.c
index f65c68c9..0875e92d 100644
--- a/ospfd/ospf_ism.c
+++ b/ospfd/ospf_ism.c
@@ -569,19 +569,16 @@ ism_change_state (struct ospf_interface *oi, int state)
ospf_check_abr_status (oi->ospf);
/* Originate router-LSA. */
- if (oi->area)
+ if (state == ISM_Down)
{
- if (state == ISM_Down)
- {
- if (oi->area->act_ints > 0)
- oi->area->act_ints--;
- }
- else if (old_state == ISM_Down)
- oi->area->act_ints++;
-
- /* schedule router-LSA originate. */
- ospf_router_lsa_timer_add (oi->area);
+ if (oi->area->act_ints > 0)
+ oi->area->act_ints--;
}
+ else if (old_state == ISM_Down)
+ oi->area->act_ints++;
+
+ /* schedule router-LSA originate. */
+ ospf_router_lsa_timer_add (oi->area);
/* Originate network-LSA. */
if (old_state != ISM_DR && state == ISM_DR)