diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-08-10 19:03:47 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-08-10 19:03:47 +0000 |
commit | f36a4644b828bd9ad214a42511af91b4a1073eea (patch) | |
tree | 05231ac87adbac430efcb2b53a97c5886df15047 | |
parent | 70cca3663a0ea6c290b55c290ba5eb1f1c9db572 (diff) | |
download | pdfium-f36a4644b828bd9ad214a42511af91b4a1073eea.tar.xz |
Remove direct calls to timechromium/3519
Replaces them with calles to the proxy function, FXSYS_time, so that
tests may use a stable time value instead of the wall clock value.
BUG=pdfium:1104
Change-Id: I4743c4634f56d4a6cba1f1130c4562a35cee1887
Reviewed-on: https://pdfium-review.googlesource.com/39853
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
-rw-r--r-- | core/fpdfapi/parser/cpdf_security_handler.cpp | 3 | ||||
-rw-r--r-- | fpdfsdk/cpdfsdk_datetime.cpp | 2 | ||||
-rw-r--r-- | fpdfsdk/fpdf_editpage.cpp | 9 | ||||
-rw-r--r-- | fxjs/cfxjse_formcalc_context.cpp | 4 | ||||
-rw-r--r-- | fxjs/js_define.cpp | 5 |
5 files changed, 10 insertions, 13 deletions
diff --git a/core/fpdfapi/parser/cpdf_security_handler.cpp b/core/fpdfapi/parser/cpdf_security_handler.cpp index caa82a9ddd..bc72ad3b33 100644 --- a/core/fpdfapi/parser/cpdf_security_handler.cpp +++ b/core/fpdfapi/parser/cpdf_security_handler.cpp @@ -18,6 +18,7 @@ #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/cpdf_object.h" #include "core/fpdfapi/parser/cpdf_string.h" +#include "core/fxcrt/fx_extension.h" namespace { @@ -531,7 +532,7 @@ void CPDF_SecurityHandler::OnCreateInternal(CPDF_Dictionary* pEncryptDict, owner_password_copy = user_password; if (m_Revision >= 5) { - int t = (int)time(nullptr); + int t = static_cast<int>(FXSYS_time(nullptr)); CRYPT_sha2_context sha; CRYPT_SHA256Start(&sha); CRYPT_SHA256Update(&sha, (uint8_t*)&t, sizeof t); diff --git a/fpdfsdk/cpdfsdk_datetime.cpp b/fpdfsdk/cpdfsdk_datetime.cpp index 332ae8e62e..f0d50911aa 100644 --- a/fpdfsdk/cpdfsdk_datetime.cpp +++ b/fpdfsdk/cpdfsdk_datetime.cpp @@ -93,7 +93,7 @@ void CPDFSDK_DateTime::ResetDateTime() { tzset(); time_t curTime; - time(&curTime); + FXSYS_time(&curTime); struct tm* newtime = localtime(&curTime); m_year = newtime->tm_year + 1900; diff --git a/fpdfsdk/fpdf_editpage.cpp b/fpdfsdk/fpdf_editpage.cpp index f1dbf70192..438a0624f3 100644 --- a/fpdfsdk/fpdf_editpage.cpp +++ b/fpdfsdk/fpdf_editpage.cpp @@ -26,6 +26,7 @@ #include "core/fpdfapi/parser/cpdf_string.h" #include "core/fpdfdoc/cpdf_annot.h" #include "core/fpdfdoc/cpdf_annotlist.h" +#include "core/fxcrt/fx_extension.h" #include "fpdfsdk/cpdfsdk_helpers.h" #include "public/fpdf_formfill.h" #include "third_party/base/logging.h" @@ -36,12 +37,6 @@ #include "fpdfsdk/fpdfxfa/cpdfxfa_page.h" #endif // PDF_ENABLE_XFA -#if _FX_OS_ == _FX_OS_ANDROID_ -#include <time.h> -#else -#include <ctime> -#endif - namespace { static_assert(FPDF_PAGEOBJ_TEXT == CPDF_PageObject::TEXT, @@ -166,7 +161,7 @@ FPDF_EXPORT FPDF_DOCUMENT FPDF_CALLCONV FPDF_CreateNewDocument() { time_t currentTime; ByteString DateStr; if (FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) { - if (time(¤tTime) != -1) { + if (FXSYS_time(¤tTime) != -1) { tm* pTM = localtime(¤tTime); if (pTM) { DateStr = ByteString::Format( diff --git a/fxjs/cfxjse_formcalc_context.cpp b/fxjs/cfxjse_formcalc_context.cpp index d164c626b9..a2773b27d0 100644 --- a/fxjs/cfxjse_formcalc_context.cpp +++ b/fxjs/cfxjse_formcalc_context.cpp @@ -954,7 +954,7 @@ int32_t DateString2Num(const ByteStringView& szDateString) { void GetLocalTimeZone(int32_t* pHour, int32_t* pMin, int32_t* pSec) { time_t now; - time(&now); + FXSYS_time(&now); struct tm* pGmt = gmtime(&now); struct tm* pLocal = localtime(&now); @@ -2539,7 +2539,7 @@ void CFXJSE_FormCalcContext::Time(CFXJSE_Value* pThis, } time_t now; - time(&now); + FXSYS_time(&now); struct tm* pGmt = gmtime(&now); args.GetReturnValue()->SetInteger( diff --git a/fxjs/js_define.cpp b/fxjs/js_define.cpp index 124fd91651..0a18b6d15b 100644 --- a/fxjs/js_define.cpp +++ b/fxjs/js_define.cpp @@ -13,6 +13,7 @@ #include <limits> #include <vector> +#include "core/fxcrt/fx_extension.h" #include "fxjs/cjs_document.h" #include "fxjs/cjs_object.h" @@ -22,7 +23,7 @@ double GetLocalTZA() { if (!FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) return 0; time_t t = 0; - time(&t); + FXSYS_time(&t); localtime(&t); #if _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_ // In gcc 'timezone' is a global variable declared in time.h. In VC++, that @@ -174,7 +175,7 @@ void JSDestructor(v8::Local<v8::Object> obj) { double JS_GetDateTime() { if (!FSDK_IsSandBoxPolicyEnabled(FPDF_POLICY_MACHINETIME_ACCESS)) return 0; - time_t t = time(nullptr); + time_t t = FXSYS_time(nullptr); struct tm* pTm = localtime(&t); int year = pTm->tm_year + 1900; |