summaryrefslogtreecommitdiff
path: root/core/fpdfapi/edit/cpdf_encryptor.cpp
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-05-16 16:32:43 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-05-16 16:32:43 +0000
commit977f9370ea6c8da403ddd73f8c13317520b5bf69 (patch)
tree019875bbc48a4c720bf8bfc939203e71dc95787c /core/fpdfapi/edit/cpdf_encryptor.cpp
parent5cf305791117afc774bd3da5122a9d8b1cd1878d (diff)
downloadpdfium-977f9370ea6c8da403ddd73f8c13317520b5bf69.tar.xz
Use pdfium::span<> in CPDF_Encryptor
Provides more lifetime/bounds checking "for free". Change-Id: Ifaf7a95c0f6f288777cd6ef35996e01b3dc4bc63 Reviewed-on: https://pdfium-review.googlesource.com/32594 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfapi/edit/cpdf_encryptor.cpp')
-rw-r--r--core/fpdfapi/edit/cpdf_encryptor.cpp22
1 files changed, 12 insertions, 10 deletions
diff --git a/core/fpdfapi/edit/cpdf_encryptor.cpp b/core/fpdfapi/edit/cpdf_encryptor.cpp
index 033df38a48..fd969b8b2c 100644
--- a/core/fpdfapi/edit/cpdf_encryptor.cpp
+++ b/core/fpdfapi/edit/cpdf_encryptor.cpp
@@ -9,21 +9,23 @@
CPDF_Encryptor::CPDF_Encryptor(CPDF_CryptoHandler* pHandler,
int objnum,
- const uint8_t* src_data,
- uint32_t src_size) {
- if (src_size == 0)
+ pdfium::span<const uint8_t> src_data) {
+ if (src_data.empty())
return;
if (!pHandler) {
- m_pData = src_data;
- m_dwSize = src_size;
+ m_Span = src_data;
return;
}
- m_dwSize = pHandler->EncryptGetSize(objnum, 0, src_data, src_size);
- m_pNewBuf.reset(FX_Alloc(uint8_t, m_dwSize));
- pHandler->EncryptContent(objnum, 0, src_data, src_size, m_pNewBuf.get(),
- m_dwSize);
- m_pData = m_pNewBuf.get();
+
+ uint32_t buf_size =
+ pHandler->EncryptGetSize(objnum, 0, src_data.data(), src_data.size());
+ m_NewBuf.resize(buf_size);
+ pHandler->EncryptContent(objnum, 0, src_data.data(), src_data.size(),
+ m_NewBuf.data(),
+ buf_size); // Updates |buf_size| with actual.
+ m_NewBuf.resize(buf_size);
+ m_Span = m_NewBuf;
}
CPDF_Encryptor::~CPDF_Encryptor() {}