Don't use a time_t variable with fscanf when parsing uptime

Because "%u" is used as format string in the fscanf call that parses the
uptime and because the length of time_t varies on different platforms
and architectures the value was not written properly if time_t was longer
than an unsigned int and depending on how the target variable was aligned
on the stack.  Since there is no conversion specifier to properly parse a
time_t value we use the appropriate integer type instead.
This commit is contained in:
Tobias Brunner 2013-02-06 16:35:44 +01:00
parent af5452ba76
commit 98063d8187

View file

@ -156,7 +156,7 @@ METHOD(os_info_t, get_uptime, time_t,
{
const char proc_uptime[] = "/proc/uptime";
FILE *file;
time_t uptime;
u_int uptime;
file = fopen(proc_uptime, "r");
if (!file)