BUG/MINOR: tools: Fix loop condition in dump_text()

The condition should first check whether `bsize` is reached, before
dereferencing the offset. Even if this always works fine, due to the
string being null-terminated, this certainly looks odd.

Found using GitHub's CodeQL scan.

This bug traces back to at least 97c2ae13bc0d7961a348102d6719fbcaf34d46d5
(1.7.0+) and this patch should be backported accordingly.

(cherry picked from commit 18795d48a9bb09aedc57e547029828a56322e49d)
Signed-off-by: Willy Tarreau <w@1wt.eu>
diff --git a/src/tools.c b/src/tools.c
index 718bb49..8010126 100644
--- a/src/tools.c
+++ b/src/tools.c
@@ -4510,9 +4510,9 @@
 int dump_text(struct buffer *out, const char *buf, int bsize)
 {
 	unsigned char c;
-	int ptr = 0;
+	size_t ptr = 0;
 
-	while (buf[ptr] && ptr < bsize) {
+	while (ptr < bsize && buf[ptr]) {
 		c = buf[ptr];
 		if (isprint((unsigned char)c) && isascii((unsigned char)c) && c != '\\' && c != ' ' && c != '=') {
 			if (out->data > out->size - 1)