From 37133f91b285b64a13869ba6374486dedd88e9c2 Mon Sep 17 00:00:00 2001
From: Pawel Andruszkiewicz
Date: Thu, 11 Jun 2015 11:23:22 +0200
Subject: [PATCH] [Archive] Replaced localtime() with localtime_r().
Prevent CID: 446658, 446423
[Verification] TCT pass rate: 100%
Change-Id: Iae5221881b56c23f93d507cec37de1fbca860c09
Signed-off-by: Pawel Andruszkiewicz
---
src/archive/zip.cc | 17 +++++++++--------
src/archive/zip_add_request.cc | 17 +++++++++--------
2 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/src/archive/zip.cc b/src/archive/zip.cc
index 51d4a926..251c2dd3 100755
--- a/src/archive/zip.cc
+++ b/src/archive/zip.cc
@@ -55,14 +55,15 @@ void Zip::generateZipFileInfo(const std::string& filename, zip_fileinfo& out_zi)
}
}
- struct tm* filedate = localtime(&tm_t);
- if(filedate) {
- out_zi.tmz_date.tm_sec = filedate->tm_sec;
- out_zi.tmz_date.tm_min = filedate->tm_min;
- out_zi.tmz_date.tm_hour = filedate->tm_hour;
- out_zi.tmz_date.tm_mday = filedate->tm_mday;
- out_zi.tmz_date.tm_mon = filedate->tm_mon ;
- out_zi.tmz_date.tm_year = filedate->tm_year;
+ struct tm filedate = {0};
+ tzset();
+ if (nullptr != localtime_r(&tm_t, &filedate)) {
+ out_zi.tmz_date.tm_sec = filedate.tm_sec;
+ out_zi.tmz_date.tm_min = filedate.tm_min;
+ out_zi.tmz_date.tm_hour = filedate.tm_hour;
+ out_zi.tmz_date.tm_mday = filedate.tm_mday;
+ out_zi.tmz_date.tm_mon = filedate.tm_mon ;
+ out_zi.tmz_date.tm_year = filedate.tm_year;
}
}
diff --git a/src/archive/zip_add_request.cc b/src/archive/zip_add_request.cc
index ba7b5efd..6a5e570f 100755
--- a/src/archive/zip_add_request.cc
+++ b/src/archive/zip_add_request.cc
@@ -254,14 +254,15 @@ PlatformResult ZipAddRequest::addEmptyDirectoryToZipArchive(std::string name_in_
// Since this directory does not exist we will set current time
//
time_t current_time = time(NULL);
- struct tm* current_time_tm = localtime(¤t_time);
- if(current_time_tm) {
- new_dir_info.tmz_date.tm_sec = current_time_tm->tm_sec;
- new_dir_info.tmz_date.tm_min = current_time_tm->tm_min;
- new_dir_info.tmz_date.tm_hour = current_time_tm->tm_hour;
- new_dir_info.tmz_date.tm_mday = current_time_tm->tm_mday;
- new_dir_info.tmz_date.tm_mon = current_time_tm->tm_mon ;
- new_dir_info.tmz_date.tm_year = current_time_tm->tm_year;
+ struct tm current_time_tm = {0};
+ tzset();
+ if (nullptr != localtime_r(¤t_time, ¤t_time_tm)) {
+ new_dir_info.tmz_date.tm_sec = current_time_tm.tm_sec;
+ new_dir_info.tmz_date.tm_min = current_time_tm.tm_min;
+ new_dir_info.tmz_date.tm_hour = current_time_tm.tm_hour;
+ new_dir_info.tmz_date.tm_mday = current_time_tm.tm_mday;
+ new_dir_info.tmz_date.tm_mon = current_time_tm.tm_mon ;
+ new_dir_info.tmz_date.tm_year = current_time_tm.tm_year;
}
int err = zipOpenNewFileInZip3(m_owner.m_zip, name_in_zip.c_str(), &new_dir_info,
--
2.34.1