Pass retained argument to CPDF_Creator Change-Id: I905e6dd5e00d7dba44b8b84a48d2338072095892 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/95450 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp index 9d60e85..6e0019e 100644 --- a/core/fpdfapi/edit/cpdf_creator.cpp +++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -7,6 +7,7 @@ #include "core/fpdfapi/edit/cpdf_creator.h" #include <algorithm> +#include <utility> #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_crypto_handler.h" @@ -35,8 +36,7 @@ class CFX_FileBufferArchive final : public IFX_ArchiveStream { public: - explicit CFX_FileBufferArchive( - const RetainPtr<IFX_RetainableWriteStream>& file); + explicit CFX_FileBufferArchive(RetainPtr<IFX_RetainableWriteStream> file); ~CFX_FileBufferArchive() override; bool WriteBlock(const void* pBuf, size_t size) override; @@ -52,9 +52,9 @@ }; CFX_FileBufferArchive::CFX_FileBufferArchive( - const RetainPtr<IFX_RetainableWriteStream>& file) - : buffer_(kArchiveBufferSize), backing_file_(file) { - DCHECK(file); + RetainPtr<IFX_RetainableWriteStream> file) + : buffer_(kArchiveBufferSize), backing_file_(std::move(file)) { + DCHECK(backing_file_); } CFX_FileBufferArchive::~CFX_FileBufferArchive() { @@ -123,13 +123,13 @@ } // namespace CPDF_Creator::CPDF_Creator(CPDF_Document* pDoc, - const RetainPtr<IFX_RetainableWriteStream>& archive) + RetainPtr<IFX_RetainableWriteStream> archive) : m_pDocument(pDoc), m_pParser(pDoc->GetParser()), m_pEncryptDict(m_pParser ? m_pParser->GetEncryptDict() : nullptr), m_pSecurityHandler(m_pParser ? m_pParser->GetSecurityHandler() : nullptr), m_dwLastObjNum(m_pDocument->GetLastObjNum()), - m_Archive(std::make_unique<CFX_FileBufferArchive>(archive)) {} + m_Archive(std::make_unique<CFX_FileBufferArchive>(std::move(archive))) {} CPDF_Creator::~CPDF_Creator() = default;
diff --git a/core/fpdfapi/edit/cpdf_creator.h b/core/fpdfapi/edit/cpdf_creator.h index d85d8cf..60c4b6b 100644 --- a/core/fpdfapi/edit/cpdf_creator.h +++ b/core/fpdfapi/edit/cpdf_creator.h
@@ -29,7 +29,7 @@ class CPDF_Creator { public: CPDF_Creator(CPDF_Document* pDoc, - const RetainPtr<IFX_RetainableWriteStream>& archive); + RetainPtr<IFX_RetainableWriteStream> archive); ~CPDF_Creator(); void RemoveSecurity();