summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd_common.c
diff options
context:
space:
mode:
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2022-08-24 00:53:19 +0200
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>2022-08-24 14:22:04 +0200
commit877682e328254e9f30f6734b2a736bee42f3fcc1 (patch)
treea3c3253210ce62bb0e606a398253121583d18629 /pimd/pim_cmd_common.c
parent6dece5ac29320c720e2f79ca0f52ebdad7615fc8 (diff)
sharpd: Fix memory leaks related to SRv6 nexthops
Running the `zebra_seg6local_route` topotest with `--valgrind-memleaks` gives several memory leak errors. This is due to the way SRv6 routes (seg6 and seg6local routes) are handled: when the user executes the CLI command `sharp install seg6-routes` or `sharp install seg6local-routes` to create a seg6 or seg6local route, sharpd calls `nexthop_add_srv6_seg6` or `nexthop_add_srv6_seg6local` to create an SRv6 nexthop. A pointer to the SRv6 nexthop is stored in the global data structure `sg.r.nhop`. If you call `sharp install routes`, `sharp install seg6-routes` or `sharp install seg6local-routes` to create more routes, `sg.r.nhop` is set to zero and the pointer to the SRv6 nexthop contained in `sg.r.nhop` is definitely lost and the allocated memory is never freed. This patch adds calls to `nexthop_del_srv6_seg6()` and `nexthop_del_srv6_seg6local()` to free the memory allocated for the SRv6 nexthop before clearing the `sg.r.nhop` data structure. Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
Diffstat (limited to 'pimd/pim_cmd_common.c')
0 files changed, 0 insertions, 0 deletions