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

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