]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUILD/MINOR: tools: fix build warning in debug_hexdump()
authorWilly Tarreau <w@1wt.eu>
Tue, 11 Apr 2017 05:58:08 +0000 (07:58 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 11 Apr 2017 06:01:17 +0000 (08:01 +0200)
Commit 0ebb511 ("MINOR: tools: add a generic hexdump function for debugging")
introduced debug_hexdump() which is used to dump a memory area during
debugging sessions. This function can start at an unaligned offset and
uses a signed comparison to know where to start dumping from. But the
operation mixes signed and unsigned, making the test incorrect and causing
the following warnings to be emitted under Clang :

  src/standard.c:3775:14: warning: comparison of unsigned expression >= 0 is
        always true [-Wtautological-compare]
                          if (b + j >= 0 && b + j < len)
                              ~~~~~ ^  ~

Make "j" signed instead. At the moment this function is not used at all
so there's no impact. Thanks to Dmitry Sivachenko for reporting it. No
backport is needed.

src/standard.c

index 5dcf9946dc65a21cd809af9521bb39af4c04b6d3..99f7066bb867b2049458e89e425bddc8fc2be7c2 100644 (file)
@@ -3765,8 +3765,8 @@ int dump_text_line(struct chunk *out, const char *buf, int bsize, int len,
  */
 void debug_hexdump(FILE *out, char *buf, unsigned int baseaddr, int len)
 {
-       unsigned int i, j;
-       int b;
+       unsigned int i;
+       int b, j;
 
        for (i = 0; i < (len + (baseaddr & 15)); i += 16) {
                b = i - (baseaddr & 15);