From a04bbeafa9b96c0f05e6403749d2b8002b6c4f12 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Thu, 7 Jun 2012 14:01:46 +0530 Subject: cli: Fix time_t conversions Change-Id: I98eb76e5971ea800a249d21557d5dd4f093fdaaf BUG: 828058 Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.com/3534 Reviewed-by: Kaleb KEITHLEY Tested-by: Gluster Build System Reviewed-by: Niels de Vos Tested-by: Joe Julian Reviewed-by: Joe Julian Reviewed-by: Vijay Bellur --- cli/src/cli-rpc-ops.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 434e9a6b1..dad863cd8 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -5802,8 +5802,9 @@ cmd_heal_volume_brick_out (dict_t *dict, int brick) char *status = NULL; uint64_t i = 0; uint32_t time = 0; - char timestr[256]; - struct tm *tm = NULL; + char timestr[256] = {0}; + struct tm tm = {0}; + time_t ltime = 0; snprintf (key, sizeof (key), "%d-hostname", brick); ret = dict_get_str (dict, key, &hostname); @@ -5832,9 +5833,15 @@ cmd_heal_volume_brick_out (dict_t *dict, int brick) if (!time) { cli_out ("%s", path); } else { - tm = localtime ((time_t*)(&time)); - strftime (timestr, sizeof (timestr), - "%Y-%m-%d %H:%M:%S", tm); + ltime = time; + memset (&tm, 0, sizeof (tm)); + if (!localtime_r (<ime, &tm)) { + snprintf (timestr, sizeof (timestr), + "Invalid time"); + } else { + strftime (timestr, sizeof (timestr), + "%Y-%m-%d %H:%M:%S", &tm); + } if (i ==0) { cli_out ("at path on brick"); cli_out ("-----------------------------------"); -- cgit