On Thu, Jun 22, 2023 at 05:46:30PM +0200, Phil Sutter wrote: > The following series is more or less a v2 of my previous single patch > adding nft_ctx_free() calls to cli.c, following a different path: > Eliminate any program exit points from cli.c so nft context deinit at > end of main() happens. This is nicer design as said function allocates > the context in the first place. > > Patch 1 is minor cleanup, patch 2 updates main() to free the context in > all cases, too and patch 3 then changes CLI code as described above. > Patch 4 extends shell testsuite by a '-V' (valgrind) mode as present in > iptables' shell testsuite already which wraps all calls to $NFT by > valgrind and collects non-empty logs. > > Sadly, I could not eliminate all valgrind complaints because each of the > three CLI backends leaves allocated memory in place at exit. None seem > to have sufficient deinit functions, except linenoise - but that code > runs only for terminals put in raw mode. > > Phil Sutter (4): > main: Make 'buf' variable branch-local > main: Call nft_ctx_free() before exiting > cli: Make cli_init() return to caller > tests: shell: Introduce valgrind mode Series applied.