From 74a6cc484a83270273b373da17c05c1e394d3dd9 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 17 May 2020 21:55:11 +0200
Subject: [PATCH] fix build failure when time_t is 64 bits

Build can fail if time_t is 64 bits and not 32 bits because of the
following warning (which results in a build failure due to -Werror):

tacc.c: In function 'main':
tacc.c:346:25: error: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'time_t' {aka 'long long int'} [-Werror=format=]
         sprintf(buf, "%lu", time(0));
                       ~~^   ~~~~~~~
                       %llu

Instead of casting time_t to unsigned long as already done in
pam_tacplus.c, use strftime which seems the right approach to
convert time_t into a string. While at it, also update pam_tacplus.c.

Fixes:
 - http://autobuild.buildroot.org/results/874433d8cb30d21332f23024081a8b6d7b3254ae

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Retrieved from:
https://github.com/kravietz/pam_tacplus/commit/74a6cc484a83270273b373da17c05c1e394d3dd9]
---
 pam_tacplus.c |  6 +++++-
 tacc.c        | 12 ++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/pam_tacplus.c b/pam_tacplus.c
index 7d8bb5f..a0cb83d 100644
--- a/pam_tacplus.c
+++ b/pam_tacplus.c
@@ -86,10 +86,14 @@ int _pam_send_account(int tac_fd, int type, const char *user, char *tty,
 	char buf[64];
 	struct tac_attrib *attr;
 	int retval;
+	time_t t;
+	struct tm tm;
 
 	attr = (struct tac_attrib *) xcalloc(1, sizeof(struct tac_attrib));
 
-	sprintf(buf, "%lu", (unsigned long) time(NULL));
+	t = time(NULL);
+	gmtime_r(&t, &tm);
+	strftime(buf, sizeof(buf), "%s", &tm);
 
 	if (type == TAC_PLUS_ACCT_FLAG_START) {
 		tac_add_attrib(&attr, "start_time", buf);
diff --git a/tacc.c b/tacc.c
index ef9d081..affc649 100644
--- a/tacc.c
+++ b/tacc.c
@@ -342,8 +342,12 @@ int main(int argc, char **argv) {
     if (do_account) {
         /* start accounting */
         struct tac_attrib *attr = NULL;
+        time_t t;
+        struct tm tm;
 
-        sprintf(buf, "%lu", time(0));
+        t = time(0);
+        gmtime_r(&t, &tm);
+        strftime(buf, sizeof(buf), "%s", &tm);
         tac_add_attrib(&attr, "start_time", buf);
 
         // this is not crypto but merely an identifier
@@ -452,7 +456,11 @@ int main(int argc, char **argv) {
     if (do_account) {
         /* stop accounting */
         struct tac_attrib *attr = NULL;
-        sprintf(buf, "%lu", time(0));
+        time_t t;
+        struct tm tm;
+        t = time(0);
+        gmtime_r(&t, &tm);
+        strftime(buf, sizeof(buf), "%s", &tm);
         tac_add_attrib(&attr, "stop_time", buf);
         sprintf(buf, "%hu", task_id);
         tac_add_attrib(&attr, "task_id", buf);
