Blame SOURCES/kde-workspace-4.10.x-bz#1001708.patch

b5cc75
From 001d9cd69dfa6fe2a827d01e94727912c3483ae9 Mon Sep 17 00:00:00 2001
b5cc75
From: Martin Briza <mbriza@redhat.com>
b5cc75
Date: Mon, 7 Oct 2013 18:01:58 +0200
b5cc75
Subject: [PATCH] kcontrol/dateandtime: Check for valid return value of
b5cc75
 QDateTime::toTime_t()
b5cc75
b5cc75
---
b5cc75
 kcontrol/dateandtime/dtime.cpp  | 7 ++++++-
b5cc75
 kcontrol/dateandtime/helper.cpp | 6 +++++-
b5cc75
 2 files changed, 11 insertions(+), 2 deletions(-)
b5cc75
b5cc75
diff --git a/kcontrol/dateandtime/dtime.cpp b/kcontrol/dateandtime/dtime.cpp
b5cc75
index 518afe5..feb5799 100644
b5cc75
--- a/kcontrol/dateandtime/dtime.cpp
b5cc75
+++ b/kcontrol/dateandtime/dtime.cpp
b5cc75
@@ -252,7 +252,12 @@ void Dtime::save( QVariantMap& helperargs )
b5cc75
     kDebug() << "Set date " << dt;
b5cc75
 
b5cc75
     helperargs["date"] = true;
b5cc75
-    helperargs["newdate"] = QString::number(dt.toTime_t());
b5cc75
+    time_t newDate = dt.toTime_t();
b5cc75
+    if (newDate == (unsigned int) -1) { // toTime_t() error
b5cc75
+        helperargs["newdate"] = QString("Overflow");
b5cc75
+    } else {
b5cc75
+        helperargs["newdate"] = QString::number(newDate);
b5cc75
+    }
b5cc75
     helperargs["olddate"] = QString::number(::time(0));
b5cc75
   }
b5cc75
 
b5cc75
diff --git a/kcontrol/dateandtime/helper.cpp b/kcontrol/dateandtime/helper.cpp
b5cc75
index 9168db3..3e994e2 100644
b5cc75
--- a/kcontrol/dateandtime/helper.cpp
b5cc75
+++ b/kcontrol/dateandtime/helper.cpp
b5cc75
@@ -94,7 +94,11 @@ int ClockHelper::date( const QString& newdate, const QString& olddate )
b5cc75
 {
b5cc75
     struct timeval tv;
b5cc75
 
b5cc75
-    tv.tv_sec = newdate.toULong() - olddate.toULong() + time(0);
b5cc75
+    bool ok;
b5cc75
+    tv.tv_sec = newdate.toULong(&ok) - olddate.toULong() + time(0);
b5cc75
+    if (!ok) {
b5cc75
+        return DateError;
b5cc75
+    }
b5cc75
     tv.tv_usec = 0;
b5cc75
     if (settimeofday(&tv, 0)) {
b5cc75
         return DateError;
b5cc75
-- 
b5cc75
1.8.3.1
b5cc75