diff options
author | Igor Ryzhov <iryzhov@nfware.com> | 2021-06-17 18:31:03 +0200 |
---|---|---|
committer | Igor Ryzhov <iryzhov@nfware.com> | 2021-06-17 18:31:03 +0200 |
commit | 0fddd864b758f424eab484ea35f74479eda33fd2 (patch) | |
tree | 5576dda8bcb25169fa71e78f3b66d30f82d46ab3 /ospfd | |
parent | Merge pull request #8856 from LabNConsulting/chopps/topo-valgrind (diff) | |
download | frr-0fddd864b758f424eab484ea35f74479eda33fd2.tar.xz frr-0fddd864b758f424eab484ea35f74479eda33fd2.zip |
ospfd: fix routemap update
Currently, if the routemap already exists, we delete the pointer to it
when it is updated. We should delete the pointer only if the route-map
is actually deleted.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'ospfd')
-rw-r--r-- | ospfd/ospf_routemap.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/ospfd/ospf_routemap.c b/ospfd/ospf_routemap.c index d3b114840..2525c1cf3 100644 --- a/ospfd/ospf_routemap.c +++ b/ospfd/ospf_routemap.c @@ -71,19 +71,14 @@ static void ospf_route_map_update(const char *name) /* Keep old route-map. */ struct route_map *old = ROUTEMAP(red); - if (!old) { - /* Route-map creation */ - /* Update route-map. */ - ROUTEMAP(red) = - route_map_lookup_by_name( - ROUTEMAP_NAME(red)); - - route_map_counter_increment( - ROUTEMAP(red)); - } else { - /* Route-map deletion */ - ROUTEMAP(red) = NULL; - } + ROUTEMAP(red) = + route_map_lookup_by_name( + ROUTEMAP_NAME(red)); + + if (!old) + route_map_counter_increment( + ROUTEMAP(red)); + /* No update for this distribute type. */ if (old == NULL |