tool: ifwitool: The function localtime() can return NULL.

This will cause the local_time pointer is passed as the 4th argument
 to function strftime() to also point to NULL. This result in a
 segmentation fault. Thus, it's necessary to add a check of the local_time
 pointer to NULL.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Mikhail Ilin <ilin.mikhail.ol@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Mikhail Ilin 2022-11-18 11:50:02 +03:00 committed by Tom Rini
parent c059a22b77
commit 164232943c

View File

@ -1628,6 +1628,8 @@ static void init_manifest_header(struct manifest_header *hdr, size_t size)
curr_time = time(NULL);
local_time = localtime(&curr_time);
assert(local_time != NULL);
strftime(buffer, sizeof(buffer), "0x%Y%m%d", local_time);
hdr->date = strtoul(buffer, NULL, 16);