diff options
author | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2022-10-29 17:04:35 +0200 |
---|---|---|
committer | Carmine Scarpitta <carmine.scarpitta@uniroma2.it> | 2022-10-29 17:04:35 +0200 |
commit | 6946731314fd04c499e576d0e133879f3e9c2edd (patch) | |
tree | 42d1cd47714e42cca90ef6fabb768d17ac3a0ec6 /lib/srv6.c | |
parent | Merge pull request #11673 from cscarpitta/srv6-per-vrf-sid (diff) | |
download | frr-6946731314fd04c499e576d0e133879f3e9c2edd.tar.xz frr-6946731314fd04c499e576d0e133879f3e9c2edd.zip |
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>
Diffstat (limited to 'lib/srv6.c')
-rw-r--r-- | lib/srv6.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/srv6.c b/lib/srv6.c index 306d92ae3..a8ec6f2b7 100644 --- a/lib/srv6.c +++ b/lib/srv6.c @@ -157,9 +157,9 @@ void srv6_locator_free(struct srv6_locator *locator) } } -void srv6_locator_chunk_free(struct srv6_locator_chunk *chunk) +void srv6_locator_chunk_free(struct srv6_locator_chunk **chunk) { - XFREE(MTYPE_SRV6_LOCATOR_CHUNK, chunk); + XFREE(MTYPE_SRV6_LOCATOR_CHUNK, *chunk); } json_object *srv6_locator_chunk_json(const struct srv6_locator_chunk *chunk) |