diff options
author | Lei Zhang <thestig@chromium.org> | 2018-10-16 05:21:13 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-10-16 05:21:13 +0000 |
commit | 2e2acbdc523735fdbbf69b1f9fee9a24e4303045 (patch) | |
tree | 8faa4479c0e73771fc816791a97aa4c83f8769a1 /core/fxge | |
parent | 6ea4d08b905de5fab7dc64f35b0abf745a1db3f3 (diff) | |
download | pdfium-2e2acbdc523735fdbbf69b1f9fee9a24e4303045.tar.xz |
Make {A85,RunLength}Encode()'s buffer out parameter a unique_ptr.
Change-Id: I3f06ea7ed39c8a8fff57e07f14ff6c21bedbc028
Reviewed-on: https://pdfium-review.googlesource.com/c/43998
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxge')
-rw-r--r-- | core/fxge/win32/cfx_psrenderer.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp index e66e9685ff..11acfc8b3d 100644 --- a/core/fxge/win32/cfx_psrenderer.cpp +++ b/core/fxge/win32/cfx_psrenderer.cpp @@ -66,8 +66,10 @@ void PSCompressData(int PSLevel, *filter = "/FlateDecode filter "; } } else { - if (pEncoders->GetBasicModule()->RunLengthEncode({src_buf, src_size}, - &dest_buf, &dest_size)) { + std::unique_ptr<uint8_t, FxFreeDeleter> dest_buf_unique; + if (pEncoders->GetBasicModule()->RunLengthEncode( + {src_buf, src_size}, &dest_buf_unique, &dest_size)) { + dest_buf = dest_buf_unique.release(); *filter = "/RunLengthDecode filter "; } } @@ -685,13 +687,12 @@ bool CFX_PSRenderer::DrawText(int nChars, } void CFX_PSRenderer::WritePSBinary(const uint8_t* data, int len) { - uint8_t* dest_buf; + std::unique_ptr<uint8_t, FxFreeDeleter> dest_buf; uint32_t dest_size; CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); if (pEncoders->GetBasicModule()->A85Encode({data, static_cast<size_t>(len)}, &dest_buf, &dest_size)) { - m_pStream->WriteBlock(dest_buf, dest_size); - FX_Free(dest_buf); + m_pStream->WriteBlock(dest_buf.get(), dest_size); } else { m_pStream->WriteBlock(data, len); } |