One of the uninitialized fields was causing a segfault.
commit 06adde8f64de8289e7882161b46eb9726945cb52
Author: Jeffrey Yasskin <[email protected]>
Date:   Sun Feb 19 01:54:14 2012 -0800

    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.

diff --git a/src/locale.cpp b/src/locale.cpp
index 7f40689..1b242f1 100644
--- a/src/locale.cpp
+++ b/src/locale.cpp
@@ -4551,7 +4551,7 @@ template <>
 string
 __time_get_storage<char>::__analyze(char fmt, const ctype<char>& ct)
 {
-    tm t;
+    tm t = {0};
     t.tm_sec = 59;
     t.tm_min = 55;
     t.tm_hour = 23;
@@ -4698,7 +4698,7 @@ template <>
 wstring
 __time_get_storage<wchar_t>::__analyze(char fmt, const ctype<wchar_t>& ct)
 {
-    tm t;
+    tm t = {0};
     t.tm_sec = 59;
     t.tm_min = 55;
     t.tm_hour = 23;
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to