From: Pawel Andruszkiewicz Date: Thu, 11 Jun 2015 07:33:39 +0000 (+0200) Subject: [Alarm] Replaced localtime with localtime_r. X-Git-Tag: submit/tizen/20150702.103311^2~2^2~62^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=333531baea871a549e693a96ba559c56cd52ad05;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [Alarm] Replaced localtime with localtime_r. Prevent CID: 438161 [Verification] TCT pass rate: 100% Change-Id: I9011067c049332954b68c0da7aa1daa739477768 Signed-off-by: Pawel Andruszkiewicz --- diff --git a/src/alarm/alarm_manager.cc b/src/alarm/alarm_manager.cc index da1226ac..6c21b56e 100755 --- a/src/alarm/alarm_manager.cc +++ b/src/alarm/alarm_manager.cc @@ -156,29 +156,29 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) { int period = 0; time_t second = seconds / 1000; - struct tm *start_date; + struct tm start_date = {0}; - start_date = localtime(&second); - if (start_date == nullptr) { + tzset(); + if (nullptr == localtime_r(&second, &start_date)) { LoggerE("Invalid date."); ReportError(PlatformResult(ErrorCode::UNKNOWN_ERR, "Invalid date."), &out); return; } - mktime(start_date); + mktime(&start_date); char str_date[kDateSize]; - snprintf(str_date, sizeof(str_date), "%d %d %d %d %d %d %d", start_date->tm_year, - start_date->tm_mon, start_date->tm_mday, start_date->tm_hour, start_date->tm_min, - start_date->tm_sec, start_date->tm_isdst); + snprintf(str_date, sizeof(str_date), "%d %d %d %d %d %d %d", start_date.tm_year, + start_date.tm_mon, start_date.tm_mday, start_date.tm_hour, start_date.tm_min, + start_date.tm_sec, start_date.tm_isdst); app_control_add_extra_data(app_control, kAlarmAbsoluteDateKey, str_date); int ret = 0; if (it_period->second.is()) { period = static_cast(it_period->second.get()); - ret = alarm_schedule_at_date(app_control, start_date, period, &alarm_id); + ret = alarm_schedule_at_date(app_control, &start_date, period, &alarm_id); } else if (it_daysOfWeek->second.is()) { picojson::array days_of_week = it_daysOfWeek->second.get(); int repeat_value = 0; @@ -205,10 +205,10 @@ void AlarmManager::Add(const picojson::value& args, picojson::object& out) { return; } ret = alarm_schedule_with_recurrence_week_flag( - app_control, start_date, repeat_value, &alarm_id); + app_control, &start_date, repeat_value, &alarm_id); } } else { - ret = alarm_schedule_at_date(app_control, start_date, 0, &alarm_id); + ret = alarm_schedule_at_date(app_control, &start_date, 0, &alarm_id); } if (ALARM_ERROR_NONE != ret) {