[probelm] After 2038 years, time_t cause overflow in 32bit arch
[error] Because time_t is 4byte in 32bit arch
[solve] If overflow occured, set max value
Change-Id: I3f1d2144f4a2a96092e7b6a8710c0e7447e2975f
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+/*
+ * @file TimeConversion.cpp
+ * @author Bartlomiej Grzelewski (b.grzelewski@samsung.com)
+ * @author Sangwan Kwon (sangwan.kwon@samsung.com)
+ * @version 0.1
+ * @brief
+ */
#include <vcore/TimeConversion.h>
#include <cstring>
+#include <climits>
+
+#define TIME_MAX LONG_MAX // time_t max value in arch 32bit
namespace {
return 0;
*res = mktime(&tm);
+
+ // If time_t occured overflow, set TIME_MAX.
+ if(*res == -1)
+ *res = TIME_MAX;
+
return 1;
}
} // namespace ValidationCore
-