Skip to content

Commit

Permalink
Core/State: Return an empty string on invalid input to SystemTimeAsDo…
Browse files Browse the repository at this point in the history
…ubleToString().
  • Loading branch information
AdmiralCurtiss committed Oct 30, 2023
1 parent 03f8ec0 commit 99a3bbc
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions Source/Core/Core/State.cpp
Expand Up @@ -265,16 +265,19 @@ static double GetSystemTimeAsDouble()
static std::string SystemTimeAsDoubleToString(double time)
{
// revert adjustments from GetSystemTimeAsDouble() to get a normal Unix timestamp again
time_t seconds = (time_t)time + DOUBLE_TIME_OFFSET;
tm* localTime = localtime(&seconds);
time_t seconds = static_cast<time_t>(time) + DOUBLE_TIME_OFFSET;
errno = 0;
tm* local_time = localtime(&seconds);
if (errno != 0 || !local_time)
return "";

#ifdef _WIN32
wchar_t tmp[32] = {};
wcsftime(tmp, std::size(tmp), L"%x %X", localTime);
wcsftime(tmp, std::size(tmp), L"%x %X", local_time);
return WStringToUTF8(tmp);
#else
char tmp[32] = {};
strftime(tmp, sizeof(tmp), "%x %X", localTime);
strftime(tmp, sizeof(tmp), "%x %X", local_time);
return tmp;
#endif
}
Expand Down

0 comments on commit 99a3bbc

Please sign in to comment.