diff options
author | Ryan Harrison <rharrison@chromium.org> | 2018-01-04 14:49:12 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-04 20:09:31 +0000 |
commit | 86b5267ac4c2f169f105a1ea30cdf2eb0ea0b5dc (patch) | |
tree | 3915dfbd64eee6070f7c853b1f81acd38156a7ce | |
parent | de3f3fc5e16a2ee4fad2bdc0cda9e2ce73fd4fe3 (diff) | |
download | pdfium-86b5267ac4c2f169f105a1ea30cdf2eb0ea0b5dc.tar.xz |
Make indices for CXFA_List be size_t instead of int32_t
Change-Id: Id825e027a337636bb779f09bc0b1c6985a781fa1
Reviewed-on: https://pdfium-review.googlesource.com/22257
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
-rw-r--r-- | fxjs/xfa/cjx_list.cpp | 7 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_arraynodelist.cpp | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_arraynodelist.h | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_attachnodelist.cpp | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_attachnodelist.h | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_list.h | 2 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_treelist.cpp | 2 |
7 files changed, 13 insertions, 12 deletions
diff --git a/fxjs/xfa/cjx_list.cpp b/fxjs/xfa/cjx_list.cpp index 57087a8492..9cbd32d352 100644 --- a/fxjs/xfa/cjx_list.cpp +++ b/fxjs/xfa/cjx_list.cpp @@ -76,12 +76,13 @@ CJS_Return CJX_List::item(CJS_V8* runtime, if (params.size() != 1) return CJS_Return(JSGetStringFromID(JSMessage::kParamError)); - int32_t iIndex = runtime->ToInt32(params[0]); - if (iIndex < 0 || static_cast<size_t>(iIndex) >= GetXFAList()->GetLength()) + int32_t index = runtime->ToInt32(params[0]); + size_t cast_index = static_cast<size_t>(index); + if (index < 0 || cast_index >= GetXFAList()->GetLength()) return CJS_Return(JSGetStringFromID(JSMessage::kInvalidInputError)); return CJS_Return(runtime->NewXFAObject( - GetXFAList()->Item(iIndex), + GetXFAList()->Item(cast_index), GetDocument()->GetScriptContext()->GetJseNormalClass()->GetTemplate())); } diff --git a/xfa/fxfa/parser/cxfa_arraynodelist.cpp b/xfa/fxfa/parser/cxfa_arraynodelist.cpp index 9ea36d3c24..9eaf9a6c33 100644 --- a/xfa/fxfa/parser/cxfa_arraynodelist.cpp +++ b/xfa/fxfa/parser/cxfa_arraynodelist.cpp @@ -48,7 +48,6 @@ bool CXFA_ArrayNodeList::Remove(CXFA_Node* pNode) { return true; } -CXFA_Node* CXFA_ArrayNodeList::Item(int32_t iIndex) { - int32_t iSize = pdfium::CollectionSize<int32_t>(m_array); - return (iIndex >= 0 && iIndex < iSize) ? m_array[iIndex] : nullptr; +CXFA_Node* CXFA_ArrayNodeList::Item(size_t index) { + return index < m_array.size() ? m_array[index] : nullptr; } diff --git a/xfa/fxfa/parser/cxfa_arraynodelist.h b/xfa/fxfa/parser/cxfa_arraynodelist.h index caee762e29..346b206f20 100644 --- a/xfa/fxfa/parser/cxfa_arraynodelist.h +++ b/xfa/fxfa/parser/cxfa_arraynodelist.h @@ -24,7 +24,7 @@ class CXFA_ArrayNodeList : public CXFA_TreeList { bool Append(CXFA_Node* pNode) override; bool Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override; bool Remove(CXFA_Node* pNode) override; - CXFA_Node* Item(int32_t iIndex) override; + CXFA_Node* Item(size_t iIndex) override; void SetArrayNodeList(const std::vector<CXFA_Node*>& srcArray); diff --git a/xfa/fxfa/parser/cxfa_attachnodelist.cpp b/xfa/fxfa/parser/cxfa_attachnodelist.cpp index 3666b99bd4..2a4741175a 100644 --- a/xfa/fxfa/parser/cxfa_attachnodelist.cpp +++ b/xfa/fxfa/parser/cxfa_attachnodelist.cpp @@ -6,6 +6,7 @@ #include "xfa/fxfa/parser/cxfa_attachnodelist.h" +#include "third_party/base/numerics/safe_conversions.h" #include "xfa/fxfa/parser/cxfa_node.h" CXFA_AttachNodeList::CXFA_AttachNodeList(CXFA_Document* pDocument, @@ -40,8 +41,8 @@ bool CXFA_AttachNodeList::Remove(CXFA_Node* pNode) { return m_pAttachNode->RemoveChild(pNode, true); } -CXFA_Node* CXFA_AttachNodeList::Item(int32_t iIndex) { +CXFA_Node* CXFA_AttachNodeList::Item(size_t index) { return m_pAttachNode->GetChild<CXFA_Node>( - iIndex, XFA_Element::Unknown, + pdfium::base::checked_cast<int32_t>(index), XFA_Element::Unknown, m_pAttachNode->GetElementType() == XFA_Element::Subform); } diff --git a/xfa/fxfa/parser/cxfa_attachnodelist.h b/xfa/fxfa/parser/cxfa_attachnodelist.h index 390ea041b9..f0df2bb4d8 100644 --- a/xfa/fxfa/parser/cxfa_attachnodelist.h +++ b/xfa/fxfa/parser/cxfa_attachnodelist.h @@ -21,7 +21,7 @@ class CXFA_AttachNodeList : public CXFA_TreeList { bool Append(CXFA_Node* pNode) override; bool Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) override; bool Remove(CXFA_Node* pNode) override; - CXFA_Node* Item(int32_t iIndex) override; + CXFA_Node* Item(size_t iIndex) override; private: CXFA_Node* m_pAttachNode; diff --git a/xfa/fxfa/parser/cxfa_list.h b/xfa/fxfa/parser/cxfa_list.h index 953e861835..de9406dd06 100644 --- a/xfa/fxfa/parser/cxfa_list.h +++ b/xfa/fxfa/parser/cxfa_list.h @@ -21,7 +21,7 @@ class CXFA_List : public CXFA_Object { virtual bool Append(CXFA_Node* pNode) = 0; virtual bool Insert(CXFA_Node* pNewNode, CXFA_Node* pBeforeNode) = 0; virtual bool Remove(CXFA_Node* pNode) = 0; - virtual CXFA_Node* Item(int32_t iIndex) = 0; + virtual CXFA_Node* Item(size_t iIndex) = 0; protected: CXFA_List(CXFA_Document* doc, std::unique_ptr<CJX_Object> js_obj); diff --git a/xfa/fxfa/parser/cxfa_treelist.cpp b/xfa/fxfa/parser/cxfa_treelist.cpp index 941020fe27..5db9ecbdf9 100644 --- a/xfa/fxfa/parser/cxfa_treelist.cpp +++ b/xfa/fxfa/parser/cxfa_treelist.cpp @@ -29,7 +29,7 @@ CXFA_Node* CXFA_TreeList::NamedItem(const WideStringView& wsName) { uint32_t dwHashCode = FX_HashCode_GetW(wsName, false); size_t count = GetLength(); for (size_t i = 0; i < count; i++) { - CXFA_Node* ret = Item(pdfium::base::checked_cast<int32_t>(i)); + CXFA_Node* ret = Item(i); if (dwHashCode == ret->GetNameHash()) return ret; } |