Take vectors from partition in CFX_BmpDecompressor

Change-Id: I9154f77676bee95fcdc9f5269f37d43f63217dce
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/62810
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
index d287aad..7414647 100644
--- a/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
+++ b/core/fxcodec/bmp/cfx_bmpdecompressor.cpp
@@ -13,6 +13,7 @@
 #include "core/fxcodec/bmp/cfx_bmpcontext.h"
 #include "core/fxcodec/cfx_codec_memory.h"
 #include "core/fxcodec/fx_codec.h"
+#include "core/fxcrt/fx_memory_wrappers.h"
 #include "core/fxcrt/fx_safe_types.h"
 #include "core/fxcrt/fx_system.h"
 #include "third_party/base/logging.h"
@@ -297,7 +298,7 @@
     if (color_used_ != 0)
       pal_num_ = color_used_;
     uint32_t src_pal_size = pal_num_ * (pal_type_ ? 3 : 4);
-    std::vector<uint8_t> src_pal(src_pal_size);
+    std::vector<uint8_t, FxAllocAllocator<uint8_t>> src_pal(src_pal_size);
     uint8_t* src_pal_data = src_pal.data();
     if (!ReadData(src_pal_data, src_pal_size))
       return BmpModule::Status::kContinue;
@@ -368,7 +369,7 @@
 }
 
 BmpModule::Status CFX_BmpDecompressor::DecodeRGB() {
-  std::vector<uint8_t> dest_buf(src_row_bytes_);
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> dest_buf(src_row_bytes_);
   while (row_num_ < height_) {
     size_t idx = 0;
     if (!ReadData(dest_buf.data(), src_row_bytes_))
@@ -494,7 +495,8 @@
 
             size_t second_part_size =
                 first_part & 1 ? first_part + 1 : first_part;
-            std::vector<uint8_t> second_part(second_part_size);
+            std::vector<uint8_t, FxAllocAllocator<uint8_t>> second_part(
+                second_part_size);
             uint8_t* second_part_data = second_part.data();
             if (!ReadData(second_part_data, second_part_size))
               return BmpModule::Status::kContinue;
@@ -589,7 +591,8 @@
               first_part = avail_size - 1;
             }
             size_t second_part_size = size & 1 ? size + 1 : size;
-            std::vector<uint8_t> second_part(second_part_size);
+            std::vector<uint8_t, FxAllocAllocator<uint8_t>> second_part(
+                second_part_size);
             uint8_t* second_part_data = second_part.data();
             if (!ReadData(second_part_data, second_part_size))
               return BmpModule::Status::kContinue;