diff options
author | Oliver Chang <ochang@chromium.org> | 2016-01-13 21:57:47 -0800 |
---|---|---|
committer | Oliver Chang <ochang@chromium.org> | 2016-01-13 21:57:47 -0800 |
commit | 2c9cba136544dd305f5e83a120d4222d9a2b6c62 (patch) | |
tree | 8f9e758e2b59be83d140a5d9978f3bb7ccb986f5 | |
parent | f2663fecb894d447dfc9b4b04b4477eca5b557b7 (diff) | |
download | pdfium-2c9cba136544dd305f5e83a120d4222d9a2b6c62.tar.xz |
Merge to XFA: Fix another invalidated iterator issue while traversing CPDF_Dictionary.
TBR=thestig@chromium.org
(cherry picked from commit a626e39700abe56e98bc44a97c38eb8da077065e)
Review URL: https://codereview.chromium.org/1587723004 .
-rw-r--r-- | core/src/fpdfdoc/doc_formcontrol.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/src/fpdfdoc/doc_formcontrol.cpp b/core/src/fpdfdoc/doc_formcontrol.cpp index 6c3d1ec9c4..bf37d85195 100644 --- a/core/src/fpdfdoc/doc_formcontrol.cpp +++ b/core/src/fpdfdoc/doc_formcontrol.cpp @@ -64,9 +64,11 @@ void CPDF_FormControl::SetOnStateName(const CFX_ByteString& csOn) { if (!pSubDict) continue; - for (const auto& subdict_it : *pSubDict) { - const CFX_ByteString& csKey2 = subdict_it.first; - CPDF_Object* pObj2 = subdict_it.second; + auto subdict_it = pSubDict->begin(); + while (subdict_it != pSubDict->end()) { + const CFX_ByteString& csKey2 = subdict_it->first; + CPDF_Object* pObj2 = subdict_it->second; + ++subdict_it; if (!pObj2) { continue; } |