Specify date string length in FINSH date command.
libc ctime returns a fixed 25 character string without a NULL terminator. Print it without specifying length in FINSH date command prints extra contents and could potentially be dangerous.
This commit is contained in:
parent
fa599be08c
commit
814b646d17
|
@ -179,7 +179,7 @@ void list_date(void)
|
||||||
time_t now;
|
time_t now;
|
||||||
|
|
||||||
now = time(RT_NULL);
|
now = time(RT_NULL);
|
||||||
rt_kprintf("%s\n", ctime(&now));
|
rt_kprintf("%.*s\n", 25, ctime(&now));
|
||||||
}
|
}
|
||||||
FINSH_FUNCTION_EXPORT(list_date, show date and time.)
|
FINSH_FUNCTION_EXPORT(list_date, show date and time.)
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ static void date(uint8_t argc, char **argv)
|
||||||
time_t now;
|
time_t now;
|
||||||
/* output current time */
|
/* output current time */
|
||||||
now = time(RT_NULL);
|
now = time(RT_NULL);
|
||||||
rt_kprintf("%s", ctime(&now));
|
rt_kprintf("%.*s", 25, ctime(&now));
|
||||||
}
|
}
|
||||||
else if (argc >= 7)
|
else if (argc >= 7)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue