summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fpdfapi/parser/cpdf_stream_acc.h4
-rw-r--r--core/fpdfapi/parser/fpdf_parser_decode.cpp10
-rw-r--r--core/fpdfapi/parser/fpdf_parser_decode.h3
3 files changed, 9 insertions, 8 deletions
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.h b/core/fpdfapi/parser/cpdf_stream_acc.h
index 00bd353fcb..5d18723df5 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc.h
+++ b/core/fpdfapi/parser/cpdf_stream_acc.h
@@ -37,7 +37,7 @@ class CPDF_StreamAcc : public Retainable {
return pdfium::make_span(GetData(), GetSize());
}
ByteString GetImageDecoder() const { return m_ImageDecoder; }
- const CPDF_Dictionary* GetImageParam() const { return m_pImageParam; }
+ const CPDF_Dictionary* GetImageParam() const { return m_pImageParam.Get(); }
std::unique_ptr<uint8_t, FxFreeDeleter> DetachData();
protected:
@@ -49,7 +49,7 @@ class CPDF_StreamAcc : public Retainable {
uint32_t m_dwSize = 0;
bool m_bNewBuf = false;
ByteString m_ImageDecoder;
- const CPDF_Dictionary* m_pImageParam = nullptr;
+ UnownedPtr<const CPDF_Dictionary> m_pImageParam;
UnownedPtr<const CPDF_Stream> const m_pStream;
uint8_t* m_pSrcData = nullptr;
};
diff --git a/core/fpdfapi/parser/fpdf_parser_decode.cpp b/core/fpdfapi/parser/fpdf_parser_decode.cpp
index 0ca9b4eab2..82d84ab705 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode.cpp
+++ b/core/fpdfapi/parser/fpdf_parser_decode.cpp
@@ -339,7 +339,7 @@ bool PDF_DataDecode(const uint8_t* src_buf,
uint8_t** dest_buf,
uint32_t* dest_size,
ByteString* ImageEncoding,
- const CPDF_Dictionary** pImageParms) {
+ UnownedPtr<const CPDF_Dictionary>* pImageParams) {
const CPDF_Object* pDecoder =
pDict ? pDict->GetDirectObjectFor("Filter") : nullptr;
if (!pDecoder || (!pDecoder->IsArray() && !pDecoder->IsName()))
@@ -377,7 +377,7 @@ bool PDF_DataDecode(const uint8_t* src_buf,
*ImageEncoding = "FlateDecode";
*dest_buf = last_buf;
*dest_size = last_size;
- *pImageParms = pParam;
+ *pImageParams = pParam;
return true;
}
offset = FPDFAPI_FlateOrLZWDecode(false, last_buf, last_size, pParam,
@@ -394,7 +394,7 @@ bool PDF_DataDecode(const uint8_t* src_buf,
*ImageEncoding = "RunLengthDecode";
*dest_buf = last_buf;
*dest_size = last_size;
- *pImageParms = pParam;
+ *pImageParams = pParam;
return true;
}
offset = RunLengthDecode(last_buf, last_size, &new_buf, &new_size);
@@ -405,7 +405,7 @@ bool PDF_DataDecode(const uint8_t* src_buf,
else if (decoder == "CCF")
decoder = "CCITTFaxDecode";
*ImageEncoding = std::move(decoder);
- *pImageParms = pParam;
+ *pImageParams = pParam;
*dest_buf = last_buf;
*dest_size = last_size;
return true;
@@ -420,7 +420,7 @@ bool PDF_DataDecode(const uint8_t* src_buf,
last_size = new_size;
}
ImageEncoding->clear();
- *pImageParms = nullptr;
+ *pImageParams = nullptr;
*dest_buf = last_buf;
*dest_size = last_size;
return true;
diff --git a/core/fpdfapi/parser/fpdf_parser_decode.h b/core/fpdfapi/parser/fpdf_parser_decode.h
index c0f636a231..328fd474c6 100644
--- a/core/fpdfapi/parser/fpdf_parser_decode.h
+++ b/core/fpdfapi/parser/fpdf_parser_decode.h
@@ -10,6 +10,7 @@
#include <memory>
#include "core/fxcrt/fx_string.h"
+#include "core/fxcrt/unowned_ptr.h"
class CCodec_ScanlineDecoder;
class CPDF_Dictionary;
@@ -80,6 +81,6 @@ bool PDF_DataDecode(const uint8_t* src_buf,
uint8_t** dest_buf,
uint32_t* dest_size,
ByteString* ImageEncoding,
- const CPDF_Dictionary** pImageParms);
+ UnownedPtr<const CPDF_Dictionary>* pImageParms);
#endif // CORE_FPDFAPI_PARSER_FPDF_PARSER_DECODE_H_