Initialize all the fields of struct tm before passing it to strftime. One of the uninitialized fields, probably the pointer field tm_zone, was causing a segfault on linux. Patch contributed by Jeffrey Yasskin.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@150929 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6df1412ca6
commit
3074a05cdc
@ -4551,7 +4551,7 @@ template <>
|
|||||||
string
|
string
|
||||||
__time_get_storage<char>::__analyze(char fmt, const ctype<char>& ct)
|
__time_get_storage<char>::__analyze(char fmt, const ctype<char>& ct)
|
||||||
{
|
{
|
||||||
tm t;
|
tm t = {0};
|
||||||
t.tm_sec = 59;
|
t.tm_sec = 59;
|
||||||
t.tm_min = 55;
|
t.tm_min = 55;
|
||||||
t.tm_hour = 23;
|
t.tm_hour = 23;
|
||||||
@ -4698,7 +4698,7 @@ template <>
|
|||||||
wstring
|
wstring
|
||||||
__time_get_storage<wchar_t>::__analyze(char fmt, const ctype<wchar_t>& ct)
|
__time_get_storage<wchar_t>::__analyze(char fmt, const ctype<wchar_t>& ct)
|
||||||
{
|
{
|
||||||
tm t;
|
tm t = {0};
|
||||||
t.tm_sec = 59;
|
t.tm_sec = 59;
|
||||||
t.tm_min = 55;
|
t.tm_min = 55;
|
||||||
t.tm_hour = 23;
|
t.tm_hour = 23;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user