diff options
| author | Russ White <russ@riw.us> | 2021-02-02 07:30:06 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-02-02 07:30:06 -0500 |
| commit | a67b8731d27a7ebc8fd55122a8a919a07d39346d (patch) | |
| tree | a39a5c572f69de39cf5d74c0b4dc3f27e90bfad6 | |
| parent | 8adc13a85495a0bdc2168719bb56548561d27c75 (diff) | |
| parent | a013777abc919c6287b2c467aca11ae6e97e9efe (diff) | |
Merge pull request #7991 from donaldsharp/valgrind_cleanups1
Valgrind cleanups
| -rw-r--r-- | ospf6d/ospf6_asbr.c | 8 | ||||
| -rw-r--r-- | zebra/zapi_msg.c | 1 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index fdfd53276e..3449f48267 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -210,7 +210,7 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old, struct ospf6_route *route, struct ospf6 *ospf6) { - struct ospf6_route *old_route; + struct ospf6_route *old_route, *next_route; struct ospf6_path *ecmp_path, *o_path = NULL; struct listnode *anode, *anext; struct listnode *nnode, *rnode, *rnext; @@ -220,9 +220,11 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old, /* check for old entry match with new route origin, * delete old entry. */ - for (old_route = old; old_route; old_route = old_route->next) { + for (old_route = old; old_route; old_route = next_route) { bool route_updated = false; + next_route = old_route->next; + if (!ospf6_route_is_same(old_route, route) || (old_route->path.type != route->path.type)) continue; @@ -315,6 +317,8 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old, old_route->path.cost, route->path.cost); } + if (old == old_route) + old = next_route; ospf6_route_remove(old_route, ospf6->route_table); } diff --git a/zebra/zapi_msg.c b/zebra/zapi_msg.c index 8e68984823..21bff96b7d 100644 --- a/zebra/zapi_msg.c +++ b/zebra/zapi_msg.c @@ -104,6 +104,7 @@ static void zserv_encode_vrf(struct stream *s, struct zebra_vrf *zvrf) struct vrf_data data; const char *netns_name = zvrf_ns_name(zvrf); + memset(&data, 0, sizeof(data)); data.l.table_id = zvrf->table_id; if (netns_name) |
