]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
fix the %W hexdump output size limit problem in bsnprintf
authorAlain Spineux <alain@baculasystems.com>
Fri, 27 Aug 2021 13:38:44 +0000 (15:38 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 24 Mar 2022 08:03:03 +0000 (09:03 +0100)
- bsnprintf was display twice the number of digits
- this is exclusively used by dedup

bacula/src/lib/bsnprintf.c

index 5efad8e23f72b98ee0a46bb9163d1d95a46ef586..ebdf5a23934756bb670001452dcec3d2e67d67b3 100644 (file)
@@ -438,7 +438,7 @@ static int32_t fmthex(char *buffer, int32_t currlen, int32_t maxlen,
    if (min <= 0) {
       return 0; /* min is mandatory */
    }
-   while (i < min) {
+   while (2*i+1 < min) { // every single input char generate 2 digits to output
       outch(hexatable[(value[i]&0xF0)>>4]);
       outch(hexatable[value[i]&0x0F]);
       i++;