Willy,

Am 04.07.20 um 11:13 schrieb Willy Tarreau:
>> Or you tell me to send it now and apply it to 'next'.
> 
> It's up to you. I personally like to keep my topic branch till the last
> moment because that leaves more more freedom to revisit my patches later,
> but when I'm certain patches are definitive, I prefer to get them merged
> and to forget them. So you decide, and both are fine to me.

I don't expect to make any more changes, apart from regularly rebasing the
branch. All the patches are super self-contained, fix a single tiny issue each
and have been tested with the example configuration given in the commit message
as well as a real world configuration to verify I don't free stuff incorrectly.

I guess it's safe to apply them to 'next', but of course carefully look at
them, you know the internals better than me. For the Lua one I put Thierry in
Cc.

The patches tagged BUG fix actual leaks reported by valgrind during deinit(),
mostly tiny ones because the process will exit shortly afterwards. It keeps
the output clean, though.

The patches tagged CLEANUP don't fix any actual leaks. Instead they reduce the
number of live allocations during deinit, possibly making it easier to spot
leaks in the future if something is changed somewhere. If a new allocation is
happening and the freeing function is not adjusted it will only be detected if
the outer struct is actually freed somewhere :-)

The ideal goal would be to get to exactly 0 live heap allocations after deinit
is finished.

Best regards

Tim Düsterhus (15):
  BUG/MINOR: acl: Fix freeing of expr->smp in prune_acl_expr
  BUG/MINOR: sample: Fix freeing of conv_exprs in release_sample_expr
  BUG/MINOR: haproxy: Free proxy->format_unique_id during deinit
  BUG/MINOR: haproxy: Add missing free of
    server->(hostname|resolvers_id)
  BUG/MINOR: haproxy: Free proxy->unique_id_header during deinit
  BUG/MINOR: haproxy: Free srule->file during deinit
  BUG/MINOR: haproxy: Free srule->expr during deinit
  BUG/MINOR: sample: Free str.area in smp_check_const_bool
  BUG/MINOR: sample: Free str.area in smp_check_const_meth
  CLEANUP: haproxy: Free proxy_deinit_list in deinit()
  CLEANUP: haproxy: Free post_deinit_list in deinit()
  CLEANUP: haproxy: Free server_deinit_list in deinit()
  CLEANUP: haproxy: Free post_server_check_list in deinit()
  CLEANUP: Add static void vars_deinit()
  CLEANUP: Add static void hlua_deinit()

 src/acl.c     |  4 ++--
 src/haproxy.c | 44 +++++++++++++++++++++++++++++++++++++++++---
 src/hlua.c    |  7 +++++++
 src/sample.c  | 10 +++++++++-
 src/vars.c    |  9 +++++++++
 5 files changed, 68 insertions(+), 6 deletions(-)

-- 
2.27.0


Reply via email to