| Index: fpdfsdk/src/javascript/PublicMethods.cpp
|
| diff --git a/fpdfsdk/src/javascript/PublicMethods.cpp b/fpdfsdk/src/javascript/PublicMethods.cpp
|
| index d0ecd2987ef5d8bee56d29bf0e9ae31122f4ff78..c83ad05409e162918c04e75550115e77ef754c1b 100644
|
| --- a/fpdfsdk/src/javascript/PublicMethods.cpp
|
| +++ b/fpdfsdk/src/javascript/PublicMethods.cpp
|
| @@ -1496,12 +1496,9 @@ FX_BOOL CJS_PublicMethods::AFDate_Format(IFXJS_Context* cc,
|
| L"m/d/yy h:MM tt",
|
| L"m/d/yy HH:MM"};
|
|
|
| - ASSERT(iIndex < FX_ArraySize(cFormats));
|
| -
|
| - if (iIndex < 0)
|
| - iIndex = 0;
|
| - if (iIndex >= FX_ArraySize(cFormats))
|
| + if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats)))
|
| iIndex = 0;
|
| +
|
| CJS_Parameters newParams;
|
| CJS_Value val(isolate, cFormats[iIndex]);
|
| newParams.push_back(val);
|
| @@ -1539,12 +1536,9 @@ FX_BOOL CJS_PublicMethods::AFDate_Keystroke(IFXJS_Context* cc,
|
| L"m/d/yy h:MM tt",
|
| L"m/d/yy HH:MM"};
|
|
|
| - ASSERT(iIndex < FX_ArraySize(cFormats));
|
| -
|
| - if (iIndex < 0)
|
| - iIndex = 0;
|
| - if (iIndex >= FX_ArraySize(cFormats))
|
| + if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats)))
|
| iIndex = 0;
|
| +
|
| CJS_Parameters newParams;
|
| CJS_Value val(isolate, cFormats[iIndex]);
|
| newParams.push_back(val);
|
| @@ -1569,12 +1563,9 @@ FX_BOOL CJS_PublicMethods::AFTime_Format(IFXJS_Context* cc,
|
| const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
|
| L"h:MM:ss tt"};
|
|
|
| - ASSERT(iIndex < FX_ArraySize(cFormats));
|
| -
|
| - if (iIndex < 0)
|
| - iIndex = 0;
|
| - if (iIndex >= FX_ArraySize(cFormats))
|
| + if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats)))
|
| iIndex = 0;
|
| +
|
| CJS_Parameters newParams;
|
| CJS_Value val(isolate, cFormats[iIndex]);
|
| newParams.push_back(val);
|
| @@ -1597,12 +1588,9 @@ FX_BOOL CJS_PublicMethods::AFTime_Keystroke(IFXJS_Context* cc,
|
| const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
|
| L"h:MM:ss tt"};
|
|
|
| - ASSERT(iIndex < FX_ArraySize(cFormats));
|
| -
|
| - if (iIndex < 0)
|
| - iIndex = 0;
|
| - if (iIndex >= FX_ArraySize(cFormats))
|
| + if (iIndex < 0 || (static_cast<size_t>(iIndex) >= FX_ArraySize(cFormats)))
|
| iIndex = 0;
|
| +
|
| CJS_Parameters newParams;
|
| CJS_Value val(isolate, cFormats[iIndex]);
|
| newParams.push_back(val);
|
| @@ -1698,22 +1686,21 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc,
|
| if (wstrMask.IsEmpty())
|
| return TRUE;
|
|
|
| - std::wstring wstrValue = valEvent.c_str();
|
| + const size_t wstrMaskLen = wstrMask.GetLength();
|
| + const std::wstring wstrValue = valEvent.c_str();
|
|
|
| if (pEvent->WillCommit()) {
|
| if (wstrValue.empty())
|
| return TRUE;
|
| - int iIndexMask = 0;
|
| - for (std::wstring::iterator it = wstrValue.begin(); it != wstrValue.end();
|
| - it++) {
|
| - wchar_t w_Value = *it;
|
| + size_t iIndexMask = 0;
|
| + for (const auto& w_Value : wstrValue) {
|
| if (!maskSatisfied(w_Value, wstrMask[iIndexMask]))
|
| break;
|
| iIndexMask++;
|
| }
|
|
|
| - if (iIndexMask != wstrMask.GetLength() ||
|
| - (iIndexMask != wstrValue.size() && wstrMask.GetLength() != 0)) {
|
| + if (iIndexMask != wstrMaskLen ||
|
| + (iIndexMask != wstrValue.size() && wstrMaskLen != 0)) {
|
| Alert(
|
| pContext,
|
| JSGetStringFromID(pContext, IDS_STRING_JSAFNUMBER_KEYSTROKE).c_str());
|
| @@ -1729,16 +1716,16 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc,
|
|
|
| int iIndexMask = pEvent->SelStart();
|
|
|
| - if (wstrValue.length() - (pEvent->SelEnd() - pEvent->SelStart()) +
|
| - wChange.length() >
|
| - (FX_DWORD)wstrMask.GetLength()) {
|
| + size_t combined_len = wstrValue.length() + wChange.length() -
|
| + (pEvent->SelEnd() - pEvent->SelStart());
|
| + if (combined_len > wstrMaskLen) {
|
| Alert(pContext,
|
| JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG).c_str());
|
| pEvent->Rc() = FALSE;
|
| return TRUE;
|
| }
|
|
|
| - if (iIndexMask >= wstrMask.GetLength() && (!wChange.empty())) {
|
| + if (iIndexMask >= wstrMaskLen && (!wChange.empty())) {
|
| Alert(pContext,
|
| JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG).c_str());
|
| pEvent->Rc() = FALSE;
|
| @@ -1746,7 +1733,7 @@ FX_BOOL CJS_PublicMethods::AFSpecial_KeystrokeEx(IFXJS_Context* cc,
|
| }
|
|
|
| for (std::wstring::iterator it = wChange.begin(); it != wChange.end(); it++) {
|
| - if (iIndexMask >= wstrMask.GetLength()) {
|
| + if (iIndexMask >= wstrMaskLen) {
|
| Alert(pContext,
|
| JSGetStringFromID(pContext, IDS_STRING_JSPARAM_TOOLONG).c_str());
|
| pEvent->Rc() = FALSE;
|
|
|