diff options
-rw-r--r-- | cli/src/cli-rpc-ops.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 091c74f5406..313484cf4f9 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -5859,8 +5859,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); @@ -5889,9 +5890,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 ("-----------------------------------"); |