From 690d456ad54f021063dcc17fde27c7ba4d910717 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Thu, 18 May 2017 11:42:46 -0700 Subject: Use UnownedPtr to check CFX_*StringC lifetimes Change interform to avoid temp StringC with dangling ptr. Change-Id: I8d8659973bcdf2cdbcaa6efa6012e4acce5f1604 Reviewed-on: https://pdfium-review.googlesource.com/5571 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- core/fpdfdoc/cpdf_filespec.cpp | 8 ++++---- core/fpdfdoc/cpdf_filespec.h | 6 +++--- core/fpdfdoc/cpdf_interform.cpp | 4 ++-- core/fpdfdoc/cpdf_interform.h | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) (limited to 'core/fpdfdoc') diff --git a/core/fpdfdoc/cpdf_filespec.cpp b/core/fpdfdoc/cpdf_filespec.cpp index 7fe8ec8c03..59915eaa05 100644 --- a/core/fpdfdoc/cpdf_filespec.cpp +++ b/core/fpdfdoc/cpdf_filespec.cpp @@ -50,7 +50,7 @@ CFX_WideString ChangeSlashToPDF(const wchar_t* str) { } // namespace -CFX_WideString CPDF_FileSpec::DecodeFileName(const CFX_WideStringC& filepath) { +CFX_WideString CPDF_FileSpec::DecodeFileName(const CFX_WideString& filepath) { if (filepath.GetLength() <= 1) return CFX_WideString(); @@ -108,7 +108,7 @@ bool CPDF_FileSpec::GetFileName(CFX_WideString* csFileName) const { } else { return false; } - *csFileName = DecodeFileName(csFileName->AsStringC()); + *csFileName = DecodeFileName(*csFileName); return true; } @@ -116,7 +116,7 @@ CPDF_FileSpec::CPDF_FileSpec(CPDF_Object* pObj) : m_pObj(pObj) {} CPDF_FileSpec::~CPDF_FileSpec() {} -CFX_WideString CPDF_FileSpec::EncodeFileName(const CFX_WideStringC& filepath) { +CFX_WideString CPDF_FileSpec::EncodeFileName(const CFX_WideString& filepath) { if (filepath.GetLength() <= 1) return CFX_WideString(); @@ -145,7 +145,7 @@ CFX_WideString CPDF_FileSpec::EncodeFileName(const CFX_WideStringC& filepath) { #endif } -void CPDF_FileSpec::SetFileName(const CFX_WideStringC& wsFileName) { +void CPDF_FileSpec::SetFileName(const CFX_WideString& wsFileName) { if (!m_pObj) return; diff --git a/core/fpdfdoc/cpdf_filespec.h b/core/fpdfdoc/cpdf_filespec.h index fb71b57186..04baf2e63f 100644 --- a/core/fpdfdoc/cpdf_filespec.h +++ b/core/fpdfdoc/cpdf_filespec.h @@ -20,16 +20,16 @@ class CPDF_FileSpec { ~CPDF_FileSpec(); // Convert a platform dependent file name into pdf format. - static CFX_WideString EncodeFileName(const CFX_WideStringC& filepath); + static CFX_WideString EncodeFileName(const CFX_WideString& filepath); // Convert a pdf file name into platform dependent format. - static CFX_WideString DecodeFileName(const CFX_WideStringC& filepath); + static CFX_WideString DecodeFileName(const CFX_WideString& filepath); CPDF_Object* GetObj() const { return m_pObj.Get(); } bool GetFileName(CFX_WideString* wsFileName) const; // Set this file spec to refer to a file name (not a url). - void SetFileName(const CFX_WideStringC& wsFileName); + void SetFileName(const CFX_WideString& wsFileName); private: CFX_UnownedPtr const m_pObj; diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp index 766ec6cd4f..88787d2e5b 100644 --- a/core/fpdfdoc/cpdf_interform.cpp +++ b/core/fpdfdoc/cpdf_interform.cpp @@ -1179,7 +1179,7 @@ bool CPDF_InterForm::CheckRequiredFields( } std::unique_ptr CPDF_InterForm::ExportToFDF( - const CFX_WideStringC& pdf_path, + const CFX_WideString& pdf_path, bool bSimpleFileSpec) const { std::vector fields; size_t nCount = m_pFieldTree->m_Root.CountFields(); @@ -1189,7 +1189,7 @@ std::unique_ptr CPDF_InterForm::ExportToFDF( } std::unique_ptr CPDF_InterForm::ExportToFDF( - const CFX_WideStringC& pdf_path, + const CFX_WideString& pdf_path, const std::vector& fields, bool bIncludeOrExclude, bool bSimpleFileSpec) const { diff --git a/core/fpdfdoc/cpdf_interform.h b/core/fpdfdoc/cpdf_interform.h index 5399392734..23530e57b2 100644 --- a/core/fpdfdoc/cpdf_interform.h +++ b/core/fpdfdoc/cpdf_interform.h @@ -71,11 +71,11 @@ class CPDF_InterForm { bool CheckRequiredFields(const std::vector* fields, bool bIncludeOrExclude) const; - std::unique_ptr ExportToFDF(const CFX_WideStringC& pdf_path, + std::unique_ptr ExportToFDF(const CFX_WideString& pdf_path, bool bSimpleFileSpec) const; std::unique_ptr ExportToFDF( - const CFX_WideStringC& pdf_path, + const CFX_WideString& pdf_path, const std::vector& fields, bool bIncludeOrExclude, bool bSimpleFileSpec) const; -- cgit v1.2.3