From 5ef75ba52b1ce6024d6aa43b03e25824a04b469b Mon Sep 17 00:00:00 2001 From: thestig Date: Wed, 28 Sep 2016 16:53:10 -0700 Subject: Fix leaks in CFieldTree::Node. Correctly account for non-leaf Nodes that have CPDF_FormField pointers. Review-Url: https://codereview.chromium.org/2376193002 --- core/fpdfdoc/cpdf_interform.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'core/fpdfdoc') diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp index 29063f534b..af72bd2750 100644 --- a/core/fpdfdoc/cpdf_interform.cpp +++ b/core/fpdfdoc/cpdf_interform.cpp @@ -428,7 +428,6 @@ class CFieldTree { return m_pField; --*pFieldsToGo; - return nullptr; } for (size_t i = 0; i < GetChildrenCount(); ++i) { CPDF_FormField* pField = GetChildAt(i)->GetFieldInternal(pFieldsToGo); @@ -441,10 +440,11 @@ class CFieldTree { size_t CountFieldsInternal(int nLevel) const { if (nLevel > nMaxRecursion) return 0; - if (m_pField) - return 1; size_t count = 0; + if (m_pField) + ++count; + for (size_t i = 0; i < GetChildrenCount(); ++i) count += GetChildAt(i)->CountFieldsInternal(nLevel + 1); return count; -- cgit v1.2.3