summaryrefslogtreecommitdiff
path: root/core/fxcrt
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-08-23 23:47:03 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-08-23 23:47:03 +0000
commitc1dde5d9b3da2af6e6f81df09ed41ab9c34bbde4 (patch)
tree74a361473c5f8b3044ab3f17e72f784edb72db4b /core/fxcrt
parenta41801ee0e7c0d76feca2dfe20103d8b82391026 (diff)
downloadpdfium-c1dde5d9b3da2af6e6f81df09ed41ab9c34bbde4.tar.xz
Pass unique_ptr<> to CFX_MemoryStream constructor
Proves we own the memory that the class will eventually free. Change-Id: Ie9523da8db738e7478a1c73e3e1a6b24aed38442 Reviewed-on: https://pdfium-review.googlesource.com/41290 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcrt')
-rw-r--r--core/fxcrt/cfx_memorystream.cpp7
-rw-r--r--core/fxcrt/cfx_memorystream.h5
2 files changed, 7 insertions, 5 deletions
diff --git a/core/fxcrt/cfx_memorystream.cpp b/core/fxcrt/cfx_memorystream.cpp
index d64d2a0b43..ac04dcc301 100644
--- a/core/fxcrt/cfx_memorystream.cpp
+++ b/core/fxcrt/cfx_memorystream.cpp
@@ -7,13 +7,16 @@
#include "core/fxcrt/cfx_memorystream.h"
#include <algorithm>
+#include <utility>
#include "core/fxcrt/fx_safe_types.h"
CFX_MemoryStream::CFX_MemoryStream() : m_nTotalSize(0), m_nCurSize(0) {}
-CFX_MemoryStream::CFX_MemoryStream(uint8_t* pBuffer, size_t nSize)
- : m_data(pBuffer), m_nTotalSize(nSize), m_nCurSize(nSize) {}
+CFX_MemoryStream::CFX_MemoryStream(
+ std::unique_ptr<uint8_t, FxFreeDeleter> pBuffer,
+ size_t nSize)
+ : m_data(std::move(pBuffer)), m_nTotalSize(nSize), m_nCurSize(nSize) {}
CFX_MemoryStream::~CFX_MemoryStream() = default;
diff --git a/core/fxcrt/cfx_memorystream.h b/core/fxcrt/cfx_memorystream.h
index 47e491275c..99e39a8ef3 100644
--- a/core/fxcrt/cfx_memorystream.h
+++ b/core/fxcrt/cfx_memorystream.h
@@ -31,9 +31,8 @@ class CFX_MemoryStream : public IFX_SeekableStream {
private:
CFX_MemoryStream();
-
- // Takes ownership of |pBuffer|.
- CFX_MemoryStream(uint8_t* pBuffer, size_t nSize);
+ CFX_MemoryStream(std::unique_ptr<uint8_t, FxFreeDeleter> pBuffer,
+ size_t nSize);
~CFX_MemoryStream() override;
std::unique_ptr<uint8_t, FxFreeDeleter> m_data;