]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: tools: make sure to correctly check the returned 'ms' in date2std_log
authorWilly Tarreau <w@1wt.eu>
Sat, 29 Feb 2020 08:08:02 +0000 (09:08 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 29 Feb 2020 08:08:02 +0000 (09:08 +0100)
In commit 4eee38a ("BUILD/MINOR: tools: fix build warning in the date
conversion functions") we added some return checks to shut build
warnings but the last test is useless since the tested pointer is not
updated by the last call to utoa_pad() used to convert the milliseconds.
It turns out the original code from 2012 already skipped this part,
probably in order to avoid the risk of seeing a millisecond field not
belonging to the 0-999 range. Better keep the check and put the code
into stricter shape.

No backport is needed. This fixes issue #526.

src/standard.c

index 056710c672483b747ccbaa1eec0774e53d68e5a3..28918476528a287ec984da694c94ebb6c3f837a7 100644 (file)
@@ -2952,10 +2952,9 @@ char *date2str_log(char *dst, const struct tm *tm, const struct timeval *date, s
                return NULL;
        *dst++ = '.';
 
-       utoa_pad((unsigned int)(date->tv_usec/1000), dst, 4); // millisecondes
+       dst = utoa_pad((unsigned int)(date->tv_usec/1000)%1000, dst, 4); // milliseconds
        if (!dst)
                return NULL;
-       dst += 3;  // only the 3 first digits
        *dst = '\0';
 
        return dst;