summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ospfd/ChangeLog2
-rw-r--r--ospfd/ospf_route.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog
index 6cb83f9a..a66cfa06 100644
--- a/ospfd/ChangeLog
+++ b/ospfd/ChangeLog
@@ -6,6 +6,8 @@
result, fixes Coverity CID #70.
(no_ospf_area_filter_list) Check NULL result from
ospf_area_lookup_by_area_id, fixes Coverity CID #69
+ * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
+ NULL check by moving into check-protected block, fix CID #49.
2006-04-24 Paul Jakma <paul.jakma@sun.com>
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c
index 646b625f..e0f2565f 100644
--- a/ospfd/ospf_route.c
+++ b/ospfd/ospf_route.c
@@ -195,9 +195,9 @@ ospf_route_delete_same_ext(struct route_table *external_routes,
struct prefix_ipv4 *p = (struct prefix_ipv4 *)(&rn->p);
if ( (ext_rn = route_node_lookup (external_routes, (struct prefix *)p)) )
{
- ospf_zebra_delete (p, ext_rn->info);
if (ext_rn->info)
{
+ ospf_zebra_delete (p, ext_rn->info);
ospf_route_free( ext_rn->info);
ext_rn->info = NULL;
}