summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page/fpdf_page_func.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page/fpdf_page_func.cpp')
-rw-r--r--core/fpdfapi/page/fpdf_page_func.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/fpdfapi/page/fpdf_page_func.cpp b/core/fpdfapi/page/fpdf_page_func.cpp
index b12b2863fe..30f3b895d4 100644
--- a/core/fpdfapi/page/fpdf_page_func.cpp
+++ b/core/fpdfapi/page/fpdf_page_func.cpp
@@ -529,9 +529,11 @@ bool CPDF_SampledFunc::v_Init(CPDF_Object* pObj) {
bool CPDF_SampledFunc::v_Call(float* inputs, float* results) const {
int pos = 0;
- std::vector<float> encoded_input(std::max(16U, m_nInputs));
- std::vector<uint32_t> index(std::max(32U, m_nInputs * 2));
- uint32_t* blocksize = index.data() + m_nInputs;
+ CFX_FixedBufGrow<float, 16> encoded_input_buf(m_nInputs);
+ float* encoded_input = encoded_input_buf;
+ CFX_FixedBufGrow<uint32_t, 32> int_buf(m_nInputs * 2);
+ uint32_t* index = int_buf;
+ uint32_t* blocksize = index + m_nInputs;
for (uint32_t i = 0; i < m_nInputs; i++) {
if (i == 0)
blocksize[i] = 1;