summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-05-12 23:04:45 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-05-12 23:04:45 +0000
commitbfd7c7dc067f5a181a992fa0b8af31cfe5cdc9eb (patch)
tree82e34cbd32436bf38dca01d5d41825669f914760
parent6db3a6f75c7206050b096dcbd4fde439b4bcb6e6 (diff)
[ospfd] CID #14, NULL check ospf->backbone before use, ospf_update_router_route
2006-05-12 Paul Jakma <paul.jakma@sun.com> * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be NULL when passed to ospf_find_asbr_route_through_area, check for NULL first, CID #14.
-rw-r--r--ospfd/ChangeLog3
-rw-r--r--ospfd/ospf_ia.c12
2 files changed, 8 insertions, 7 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 72e363e9..82e745ca 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -13,6 +13,9 @@
* ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
* ospf_zebra.c: (ospf_redistribute_unset) update call to
ospf_redistribute_withdraw to match.
+ * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
+ NULL when passed to ospf_find_asbr_route_through_area,
+ check for NULL first, CID #14.
2006-05-11 Paul Jakma <paul.jakma@sun.com>
diff --git a/ospfd/ospf_ia.c b/ospfd/ospf_ia.c
index a701e8c9..6a8c3c63 100644
--- a/ospfd/ospf_ia.c
+++ b/ospfd/ospf_ia.c
@@ -464,13 +464,11 @@ ospf_update_router_route (struct ospf *ospf,
if ((ospf->backbone == NULL) &&
(ospf->abr_type != OSPF_ABR_SHORTCUT))
-
- /* no BB area, not Shortcut ABR, exiting */
- return;
-
- or = ospf_find_asbr_route_through_area (rtrs, p, ospf->backbone);
-
- if (or == NULL)
+ return; /* no BB area, not Shortcut ABR, exiting */
+
+ /* find the backbone route, if possible */
+ if ((ospf->backbone == NULL)
+ || !(or = ospf_find_asbr_route_through_area (rtrs, p, ospf->backbone)))
{
if (ospf->abr_type != OSPF_ABR_SHORTCUT)