From 1f3e38b30607ad334acd0ccee82d7254ab323c8f Mon Sep 17 00:00:00 2001 From: "Yan, Like" Date: Mon, 14 May 2018 14:42:47 +0800 Subject: [PATCH] tools: acrntrace: fix NULL pointer issue in create_trace_file_dir() Fix NULL pointer dereference if 'localtime()' execution encountered an error, in create_trace_file_dir(). Signed-off-by: Yan, Like Acked-by: Eddie Dong --- tools/acrntrace/acrntrace.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/acrntrace/acrntrace.c b/tools/acrntrace/acrntrace.c index 5817e7596..4d71095ee 100644 --- a/tools/acrntrace/acrntrace.c +++ b/tools/acrntrace/acrntrace.c @@ -173,9 +173,13 @@ static int create_trace_file_dir(char *dir) time(&timep); p = localtime(&timep); - snprintf(time_str, TIME_STR_LEN, "%d%02d%02d-%02d%02d%02d", - (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday, - p->tm_hour, p->tm_min, p->tm_sec); + if (p) + snprintf(time_str, TIME_STR_LEN, "%d%02d%02d-%02d%02d%02d", + (1900 + p->tm_year), (1 + p->tm_mon), p->tm_mday, + p->tm_hour, p->tm_min, p->tm_sec); + else + snprintf(time_str, TIME_STR_LEN, "00000000-000000"); + pr_info("start tracing at %s\n", time_str); snprintf(dir, TRACE_FILE_DIR_LEN, "%s%s", TRACE_FILE_ROOT, time_str);