summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cli/src/cli-rpc-ops.c17
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 (&ltime, &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 ("-----------------------------------");