diff options
author | Tom Sepez <tsepez@chromium.org> | 2018-05-16 16:32:43 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-05-16 16:32:43 +0000 |
commit | 977f9370ea6c8da403ddd73f8c13317520b5bf69 (patch) | |
tree | 019875bbc48a4c720bf8bfc939203e71dc95787c /core/fpdfapi/edit/cpdf_encryptor.cpp | |
parent | 5cf305791117afc774bd3da5122a9d8b1cd1878d (diff) | |
download | pdfium-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.cpp | 22 |
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() {} |