[nft PATCH 0/4] cli: Make valgrind (kind of) happy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

 include/cli.h            |  2 +-
 src/cli.c                | 63 ++++++++++++++++++++++++++--------------
 src/main.c               | 42 +++++++++++++++------------
 tests/shell/run-tests.sh | 47 ++++++++++++++++++++++++++++++
 4 files changed, 113 insertions(+), 41 deletions(-)

-- 
2.40.0




[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux