]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG/MINOR: proxy: always initialize the trash in show servers state
authorWilly Tarreau <w@1wt.eu>
Wed, 1 Jul 2020 05:09:39 +0000 (07:09 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 1 Jul 2020 05:11:14 +0000 (07:11 +0200)
Actually the cleanup in commit 6ff8143f7 ("BUG/MINOR: proxy: fix
dump_server_state()'s misuse of the trash") allowed to spot that the
trash is never reset when dumping a servers state. I couldn't manage
to make it dump garbage even with large setups but didn't find either
where it's cleared between successive calls while other handlers do
explicitly invoke chunk_reset(), so it seems to happen a bit by luck.

Let's use chunk_printf() here for each turn, it makes things clearer.

This could be backported along with previous patch, especially if any
user reports occasional garbage appearing in the show servers output.

src/proxy.c

index 3fb4b6d075ae08b1bfd8cf59400b74e361f25b5f..ebbfe4941dd90f3596606f57ddf807c6249a2ab5 100644 (file)
@@ -1794,7 +1794,7 @@ static int dump_servers_state(struct stream_interface *si)
                if (srv->srvrq && srv->srvrq->name)
                        srvrecord = srv->srvrq->name;
 
-               chunk_appendf(&trash,
+               chunk_printf(&trash,
                                "%d %s "
                                "%d %s %s "
                                "%d %d %d %d %ld "