BUG/MINOR: http_ana: Be sure to have an allocated buffer to generate an error

In http_reply_and_close() and http_server_error(), we must be sure to have an
allocated buffer (buf.size > 0) to consider it as a valid HTX message. For now,
there is no way to hit this bug. But a fix to support "empty" error messages in
HTX is pending. Such empty messages, after parsing, will be converted into
unallocated buffer (buf.size == 0).

This patch must be backported to 2.0 and 1.9. owever, the patch will have to be
adapted.

(cherry picked from commit 9f5839cde27b353446f77c96c5de8068a6228a2a)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/src/proto_htx.c b/src/proto_htx.c
index 620f81b..2824df0 100644
--- a/src/proto_htx.c
+++ b/src/proto_htx.c
@@ -5352,7 +5352,7 @@
 
 	/* <msg> is an HTX structure. So we copy it in the response's
 	 * channel */
-	if (msg) {
+	if (msg && !b_is_null(msg)) {
 		struct channel *chn = si_ic(si);
 		struct htx *htx;
 
@@ -5382,7 +5382,7 @@
 	/* <msg> is an HTX structure. So we copy it in the response's
 	 * channel */
 	/* FIXME: It is a problem for now if there is some outgoing data */
-	if (msg) {
+	if (msg && !b_is_null(msg)) {
 		struct channel *chn = &s->res;
 		struct htx *htx;