CVE-2020-28019: Failure to reset function pointer after BDAT error
[exim.git] / src / exim_monitor / em_version.c
index ff9ac5c58578320904e2184fe5fb23856f1170b3..336f2ae97d14bc561cc7a9aa8e9a38e30bf0bfac 100644 (file)
@@ -3,9 +3,24 @@
 *************************************************/
 
 /* Copyright (c) University of Cambridge 1995 - 2018 */
+/* Copyright (c) The Exim Maintainers 2020 */
 /* See the file NOTICE for conditions of use and distribution. */
 
+#define EM_VERSION_C
+
+/* Needed by macros.h */
+/* Some systems have PATH_MAX and some have MAX_PATH_LEN. */
+
+#ifndef PATH_MAX
+# ifdef MAX_PATH_LEN
+#  define PATH_MAX MAX_PATH_LEN
+# else
+#  define PATH_MAX 1024
+# endif
+#endif
+
 #include "mytypes.h"
+#include "store.h"
 #include "macros.h"
 #include <string.h>
 #include <stdlib.h>
@@ -33,7 +48,7 @@ version_date[0] = 0;
 Ustrncat(version_date, EXIM_BUILD_DATE_OVERRIDE, 31);
 
 #else
-Ustrcpy(today, __DATE__);
+Ustrcpy(today, US __DATE__);
 if (today[4] == ' ') i = 1;
 today[3] = today[6] = '-';
 
@@ -42,8 +57,8 @@ version_date[0] = 0;
 Ustrncat(version_date, today+4+i, 3-i);
 Ustrncat(version_date, today, 4);
 Ustrncat(version_date, today+7, 4);
-Ustrcat(version_date, " ");
-Ustrcat(version_date, __TIME__);
+Ustrcat(version_date, US" ");
+Ustrcat(version_date, US __TIME__);
 #endif
 }