]> git.proxmox.com Git - mirror_frr.git/commit
lib, bgpd: Enhance `srv6_locator_chunk_free()` API
authorCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Sat, 29 Oct 2022 15:04:35 +0000 (17:04 +0200)
committerCarmine Scarpitta <carmine.scarpitta@uniroma2.it>
Sat, 29 Oct 2022 15:04:35 +0000 (17:04 +0200)
commit6946731314fd04c499e576d0e133879f3e9c2edd
tree42d1cd47714e42cca90ef6fabb768d17ac3a0ec6
parent695f387ed872c1bc55ad4149ede95465b48697b9
lib, bgpd: Enhance `srv6_locator_chunk_free()` API

A programmer can use the `srv6_locator_chunk_free()` function to free
the memory allocated for a `struct srv6_locator_chunk`.

The programmer invokes `srv6_locator_chunk_free()` by passing a single
pointer to the `struct srv6_locator_chunk` to be freed.
`srv6_locator_chunk_free()` uses `XFREE()` to free the memory.
It is the responsibility of the programmer to set the
`struct srv6_locator_chunk` pointer to NULL after freeing memory with
`srv6_locator_chunk_free()`.

This commit modifies the `srv6_locator_chunk_free()` function to take a
double pointer instead of a single pointer. In this way, setting the
`struct srv6_locator_chunk` pointer to NULL is no longer the
programmer's responsibility but is the responsibility of
`srv6_locator_chunk_free()`. This prevents programmers from making
mistakes such as forgetting to set the pointer to NULL after invoking
`srv6_locator_chunk_free()`.

Signed-off-by: Carmine Scarpitta <carmine.scarpitta@uniroma2.it>
bgpd/bgp_mplsvpn.c
bgpd/bgp_vty.c
bgpd/bgp_zebra.c
lib/srv6.c
lib/srv6.h