From: Willy Tarreau Date: Sat, 29 Feb 2020 08:08:02 +0000 (+0100) Subject: MINOR: tools: make sure to correctly check the returned 'ms' in date2std_log X-Git-Tag: v2.2-dev4~100 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7d9421deca68aed6b37effb91c67c03ae93439c2;p=thirdparty%2Fhaproxy.git MINOR: tools: make sure to correctly check the returned 'ms' in date2std_log 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. --- diff --git a/src/standard.c b/src/standard.c index 056710c672..2891847652 100644 --- a/src/standard.c +++ b/src/standard.c @@ -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;