BUILD/MINOR: tools: fix build warning in the date conversion functions

Some gcc versions emit potential null deref warnings at -O3 in
date2str_log(), gmt2str_log() and localdate2str_log() after utoa_pad()
because this function may return NULL if its size argument is too small
for the integer value. And it's true that we can't guarantee that the
input number is always valid.

This must be backported to all stable versions.
diff --git a/src/standard.c b/src/standard.c
index 6729e89..efa4171 100644
--- a/src/standard.c
+++ b/src/standard.c
@@ -2825,19 +2825,37 @@
 		return NULL;
 
 	dst = utoa_pad((unsigned int)tm->tm_mday, dst, 3); // day
+	if (!dst)
+		return NULL;
 	*dst++ = '/';
+
 	memcpy(dst, monthname[tm->tm_mon], 3); // month
 	dst += 3;
 	*dst++ = '/';
+
 	dst = utoa_pad((unsigned int)tm->tm_year+1900, dst, 5); // year
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_hour, dst, 3); // hour
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_min, dst, 3); // minutes
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_sec, dst, 3); // secondes
+	if (!dst)
+		return NULL;
 	*dst++ = '.';
+
 	utoa_pad((unsigned int)(date->tv_usec/1000), dst, 4); // millisecondes
+	if (!dst)
+		return NULL;
 	dst += 3;  // only the 3 first digits
 	*dst = '\0';
 
@@ -2919,17 +2937,32 @@
 		return NULL;
 
 	dst = utoa_pad((unsigned int)tm->tm_mday, dst, 3); // day
+	if (!dst)
+		return NULL;
 	*dst++ = '/';
+
 	memcpy(dst, monthname[tm->tm_mon], 3); // month
 	dst += 3;
 	*dst++ = '/';
+
 	dst = utoa_pad((unsigned int)tm->tm_year+1900, dst, 5); // year
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_hour, dst, 3); // hour
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_min, dst, 3); // minutes
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_sec, dst, 3); // secondes
+	if (!dst)
+		return NULL;
 	*dst++ = ' ';
 	*dst++ = '+';
 	*dst++ = '0';
@@ -2956,18 +2989,34 @@
 	gmt_offset = get_gmt_offset(t, tm);
 
 	dst = utoa_pad((unsigned int)tm->tm_mday, dst, 3); // day
+	if (!dst)
+		return NULL;
 	*dst++ = '/';
+
 	memcpy(dst, monthname[tm->tm_mon], 3); // month
 	dst += 3;
 	*dst++ = '/';
+
 	dst = utoa_pad((unsigned int)tm->tm_year+1900, dst, 5); // year
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_hour, dst, 3); // hour
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_min, dst, 3); // minutes
+	if (!dst)
+		return NULL;
 	*dst++ = ':';
+
 	dst = utoa_pad((unsigned int)tm->tm_sec, dst, 3); // secondes
+	if (!dst)
+		return NULL;
 	*dst++ = ' ';
+
 	memcpy(dst, gmt_offset, 5); // Offset from local time to GMT
 	dst += 5;
 	*dst = '\0';