From 559cf371bc5bfd9c3552e93af3c87403fb6a215f Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Mon, 16 Aug 2010 14:52:37 +0000 Subject: [PATCH] * fix oversight that gmtime() and localtime() may return NULL, which would lead to a crash git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38143 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/support/DateTime.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/kits/support/DateTime.cpp b/src/kits/support/DateTime.cpp index 19030db00a..ff4a2d20d4 100644 --- a/src/kits/support/DateTime.cpp +++ b/src/kits/support/DateTime.cpp @@ -157,6 +157,9 @@ BTime::CurrentTime(time_type type) else timeinfo = localtime_r(&tv.tv_sec, &result); + if (timeinfo == NULL) + return BTime(); + int32 sec = timeinfo->tm_sec; return BTime(timeinfo->tm_hour, timeinfo->tm_min, (sec > 59) ? 59 : sec, tv.tv_usec); @@ -594,6 +597,9 @@ BDate::CurrentDate(time_type type) else timeinfo = localtime_r(&timer, &result); + if (timeinfo == NULL) + return BDate(); + return BDate(timeinfo->tm_year + 1900, timeinfo->tm_mon +1, timeinfo->tm_mday); } @@ -1385,7 +1391,7 @@ BDateTime::SetTime_t(uint32 seconds) BTime time; time.AddSeconds(seconds % kSecondsPerDay); fTime.SetTime(time); - + BDate date(1970, 1, 1); date.AddDays(seconds / kSecondsPerDay); fDate.SetDate(date);