diff options
| author | Soman K S <somanks@gmai.com> | 2021-02-10 16:45:22 +0530 |
|---|---|---|
| committer | Soman K S <somanks@gmai.com> | 2021-02-10 16:45:22 +0530 |
| commit | b9b87bfc366aad8f38e201210046d90828b7e06f (patch) | |
| tree | 2fbfdcaf25fd7ac346bdabee74915361dd3ea4aa /ospf6d/ospf6_intra.c | |
| parent | de6223a98d7cd3a38a19f0c97a8692d6ea5e17bc (diff) | |
ospf6d : fix issue in ecmp inter area route
Issue: When a path in the inter area ecmp route is deleted, the route is removed
Fix: The fix is to remove the specific path from the inter area route using
ospf6_abr_old_route_remove() when abr route entry is not found.
In the function ospf6_abr_old_route_remove() the path to be removed needs
to match adv router and link state ID
Fixed memory leak in ospf6_intra_prefix_update_route_origin() caused by
route node lock not getting released.
Signed-off-by: kssoman <somanks@gmail.com>
Diffstat (limited to 'ospf6d/ospf6_intra.c')
| -rw-r--r-- | ospf6d/ospf6_intra.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ospf6d/ospf6_intra.c b/ospf6d/ospf6_intra.c index b51aa17960..2abe64ac60 100644 --- a/ospf6d/ospf6_intra.c +++ b/ospf6d/ospf6_intra.c @@ -1449,6 +1449,8 @@ static void ospf6_intra_prefix_update_route_origin(struct ospf6_route *oa_route, g_route->path.origin.id = h_path->origin.id; g_route->path.origin.adv_router = h_path->origin.adv_router; + if (nroute) + ospf6_route_unlock(nroute); break; } } |
