Index: fpdfsdk/formfiller/cba_fontmap.cpp |
diff --git a/fpdfsdk/formfiller/cba_fontmap.cpp b/fpdfsdk/formfiller/cba_fontmap.cpp |
index 83e45791e20f7f7a5a4eaa317be4a840829970f3..750b41627e798fd790977191d05baf03f98b4be8 100644 |
--- a/fpdfsdk/formfiller/cba_fontmap.cpp |
+++ b/fpdfsdk/formfiller/cba_fontmap.cpp |
@@ -6,6 +6,8 @@ |
#include "fpdfsdk/formfiller/cba_fontmap.h" |
+#include <utility> |
+ |
#include "core/fpdfapi/font/cpdf_font.h" |
#include "core/fpdfapi/page/cpdf_page.h" |
#include "core/fpdfapi/parser/cpdf_document.h" |
@@ -171,24 +173,24 @@ void CBA_FontMap::AddFontToAnnotDict(CPDF_Font* pFont, |
CPDF_Dictionary* pStreamDict = pStream->GetDict(); |
if (!pStreamDict) { |
- pStreamDict = new CPDF_Dictionary(m_pDocument->GetByteStringPool()); |
- pStream->InitStream(nullptr, 0, pStreamDict); |
+ auto pOwnedDict = |
+ pdfium::MakeUnique<CPDF_Dictionary>(m_pDocument->GetByteStringPool()); |
+ pStreamDict = pOwnedDict.get(); |
+ pStream->InitStream(nullptr, 0, std::move(pOwnedDict)); |
} |
- if (pStreamDict) { |
- CPDF_Dictionary* pStreamResList = pStreamDict->GetDictFor("Resources"); |
- if (!pStreamResList) |
- pStreamResList = pStreamDict->SetNewFor<CPDF_Dictionary>("Resources"); |
- CPDF_Dictionary* pStreamResFontList = pStreamResList->GetDictFor("Font"); |
- if (!pStreamResFontList) { |
- pStreamResFontList = m_pDocument->NewIndirect<CPDF_Dictionary>(); |
- pStreamResList->SetNewFor<CPDF_Reference>( |
- "Font", m_pDocument, pStreamResFontList->GetObjNum()); |
- } |
- if (!pStreamResFontList->KeyExist(sAlias)) { |
- pStreamResFontList->SetNewFor<CPDF_Reference>( |
- sAlias, m_pDocument, pFont->GetFontDict()->GetObjNum()); |
- } |
+ CPDF_Dictionary* pStreamResList = pStreamDict->GetDictFor("Resources"); |
+ if (!pStreamResList) |
+ pStreamResList = pStreamDict->SetNewFor<CPDF_Dictionary>("Resources"); |
+ CPDF_Dictionary* pStreamResFontList = pStreamResList->GetDictFor("Font"); |
+ if (!pStreamResFontList) { |
+ pStreamResFontList = m_pDocument->NewIndirect<CPDF_Dictionary>(); |
+ pStreamResList->SetNewFor<CPDF_Reference>("Font", m_pDocument, |
+ pStreamResFontList->GetObjNum()); |
+ } |
+ if (!pStreamResFontList->KeyExist(sAlias)) { |
+ pStreamResFontList->SetNewFor<CPDF_Reference>( |
+ sAlias, m_pDocument, pFont->GetFontDict()->GetObjNum()); |
} |
} |