summaryrefslogtreecommitdiff
path: root/core/fxge
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-10-16 05:21:13 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-10-16 05:21:13 +0000
commit2e2acbdc523735fdbbf69b1f9fee9a24e4303045 (patch)
tree8faa4479c0e73771fc816791a97aa4c83f8769a1 /core/fxge
parent6ea4d08b905de5fab7dc64f35b0abf745a1db3f3 (diff)
downloadpdfium-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.cpp11
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);
}