diff options
author | Tom Sepez <tsepez@chromium.org> | 2017-02-16 12:20:13 -0800 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-02-16 21:37:53 +0000 |
commit | 28e691995a7d14f3001eede5f00f62b9a64d8a69 (patch) | |
tree | 0a52cef81980fd00cfa2b0b484dd5442d056f313 /core/fpdfapi/parser/cpdf_indirect_object_holder.h | |
parent | d6ae2afa821c87e84790d5c04bbc172a7b12f08f (diff) | |
download | pdfium-28e691995a7d14f3001eede5f00f62b9a64d8a69.tar.xz |
Avoid a potential leak in CPDF_IndirectObjectHolder
Keep a vector of object superseeded by another object. These will
no longer be returned from the holder, but it will clean them
Change-Id: If9754ff6614bd79e9de6ce8c3492230435813218
Reviewed-on: https://pdfium-review.googlesource.com/2790
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/parser/cpdf_indirect_object_holder.h')
-rw-r--r-- | core/fpdfapi/parser/cpdf_indirect_object_holder.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/core/fpdfapi/parser/cpdf_indirect_object_holder.h b/core/fpdfapi/parser/cpdf_indirect_object_holder.h index 1b174d8b62..b6d33a3cd5 100644 --- a/core/fpdfapi/parser/cpdf_indirect_object_holder.h +++ b/core/fpdfapi/parser/cpdf_indirect_object_holder.h @@ -11,6 +11,7 @@ #include <memory> #include <type_traits> #include <utility> +#include <vector> #include "core/fpdfapi/parser/cpdf_object.h" #include "core/fxcrt/cfx_string_pool_template.h" @@ -70,6 +71,7 @@ class CPDF_IndirectObjectHolder { private: uint32_t m_LastObjNum; std::map<uint32_t, std::unique_ptr<CPDF_Object>> m_IndirectObjs; + std::vector<std::unique_ptr<CPDF_Object>> m_OrphanObjs; CFX_WeakPtr<CFX_ByteStringPool> m_pByteStringPool; }; |