diff options
author | Pat Ruddy <pat@voltanet.io> | 2021-05-25 10:38:26 +0200 |
---|---|---|
committer | Pat Ruddy <pat@voltanet.io> | 2021-05-27 13:57:25 +0200 |
commit | de4a0bdaa6d8dbdea3cbe96056e3c0cbbbf9619b (patch) | |
tree | e8fdfe1c24637be0c00112a95c03c865a5bfcc01 /ospf6d/ospf6_route.c | |
parent | Merge pull request #8738 from gromit1811/bugfix_ospf6_set_tag (diff) | |
download | frr-de4a0bdaa6d8dbdea3cbe96056e3c0cbbbf9619b.tar.xz frr-de4a0bdaa6d8dbdea3cbe96056e3c0cbbbf9619b.zip |
ospf6: fix memory leak in ospf6_abr_examin_summary
Ensure that if allocated route is not added to a table then it is
deleted to avoid leaking memory.
Add a new memory type for route table so that ospf6 routes can be
distinguished in the show memory output in isolation.
Signed-off-by: Pat Ruddy <pat@voltanet.io>
Diffstat (limited to 'ospf6d/ospf6_route.c')
-rw-r--r-- | ospf6d/ospf6_route.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ospf6d/ospf6_route.c b/ospf6d/ospf6_route.c index 2daf119c5..908011c94 100644 --- a/ospf6d/ospf6_route.c +++ b/ospf6d/ospf6_route.c @@ -39,6 +39,7 @@ #include "ospf6_zebra.h" DEFINE_MTYPE_STATIC(OSPF6D, OSPF6_ROUTE, "OSPF6 route"); +DEFINE_MTYPE_STATIC(OSPF6D, OSPF6_ROUTE_TABLE, "OSPF6 route table"); DEFINE_MTYPE_STATIC(OSPF6D, OSPF6_NEXTHOP, "OSPF6 nexthop"); DEFINE_MTYPE_STATIC(OSPF6D, OSPF6_PATH, "OSPF6 Path"); @@ -1021,7 +1022,8 @@ void ospf6_route_remove_all(struct ospf6_route_table *table) struct ospf6_route_table *ospf6_route_table_create(int s, int t) { struct ospf6_route_table *new; - new = XCALLOC(MTYPE_OSPF6_ROUTE, sizeof(struct ospf6_route_table)); + new = XCALLOC(MTYPE_OSPF6_ROUTE_TABLE, + sizeof(struct ospf6_route_table)); new->table = route_table_init(); new->scope_type = s; new->table_type = t; @@ -1033,7 +1035,7 @@ void ospf6_route_table_delete(struct ospf6_route_table *table) ospf6_route_remove_all(table); bf_free(table->idspace); route_table_finish(table->table); - XFREE(MTYPE_OSPF6_ROUTE, table); + XFREE(MTYPE_OSPF6_ROUTE_TABLE, table); } |