Static analyzer reported:
Pointer 'tp', returned from function 'localtime' at ipxfrm.c:352, may be NULL
and is dereferenced at ipxfrm.c:354 by calling function 'strftime'.
Corrections explained:
The function localtime() may return NULL if the provided time value is
invalid. This commit adds a check for NULL and handles the error case
by copying "invalid-time" into the output buffer.
Unlikely, but may return an error
Triggers found by static analyzer Svace.
Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
t = (long)time;
tp = localtime(&t);
- strftime(str, sizeof(str), "%Y-%m-%d %T", tp);
+ if (!tp)
+ strcpy(str, "invalid-time");
+ else
+ strftime(str, sizeof(str), "%Y-%m-%d %T", tp);
}
return str;