diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp
index 024594f..e40e083 100644
--- a/core/fxge/cfx_fontmapper.cpp
+++ b/core/fxge/cfx_fontmapper.cpp
@@ -306,7 +306,7 @@
   if (!size)
     return ByteString();
 
-  std::vector<uint8_t> buffer(size);
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> buffer(size);
   uint32_t bytes_read = m_pFontInfo->GetFontData(hFont, kTableNAME, buffer);
   return bytes_read == size ? GetNameFromTT(buffer, 6) : ByteString();
 }
diff --git a/core/fxge/dib/cfx_bitmapcomposer.h b/core/fxge/dib/cfx_bitmapcomposer.h
index 74a7efa..8d0202d 100644
--- a/core/fxge/dib/cfx_bitmapcomposer.h
+++ b/core/fxge/dib/cfx_bitmapcomposer.h
@@ -72,10 +72,10 @@
   bool m_bFlipY;
   bool m_bRgbByteOrder = false;
   BlendMode m_BlendType = BlendMode::kNormal;
-  std::vector<uint8_t> m_pScanlineV;
-  std::vector<uint8_t> m_pClipScanV;
-  std::vector<uint8_t> m_pAddClipScan;
-  std::vector<uint8_t> m_pScanlineAlphaV;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_pScanlineV;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_pClipScanV;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_pAddClipScan;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_pScanlineAlphaV;
 };
 
 #endif  // CORE_FXGE_DIB_CFX_BITMAPCOMPOSER_H_
diff --git a/core/fxge/dib/cstretchengine.h b/core/fxge/dib/cstretchengine.h
index 1792963..9575157 100644
--- a/core/fxge/dib/cstretchengine.h
+++ b/core/fxge/dib/cstretchengine.h
@@ -10,6 +10,7 @@
 #include <vector>
 
 #include "core/fxcrt/fx_coordinates.h"
+#include "core/fxcrt/fx_memory_wrappers.h"
 #include "core/fxcrt/retain_ptr.h"
 #include "core/fxcrt/unowned_ptr.h"
 #include "core/fxge/fx_dib.h"
@@ -61,7 +62,7 @@
     int m_DestMin = 0;
     int m_ItemSize = 0;
     size_t m_dwWeightTablesSize = 0;
-    std::vector<uint8_t> m_WeightTables;
+    std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_WeightTables;
   };
 
   enum class State : uint8_t { kInitial, kHorizontal, kVertical };
@@ -89,10 +90,10 @@
   const int m_DestWidth;
   const int m_DestHeight;
   const FX_RECT m_DestClip;
-  std::vector<uint8_t> m_DestScanline;
-  std::vector<uint8_t> m_DestMaskScanline;
-  std::vector<uint8_t> m_InterBuf;
-  std::vector<uint8_t> m_ExtraAlphaBuf;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_DestScanline;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_DestMaskScanline;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_InterBuf;
+  std::vector<uint8_t, FxAllocAllocator<uint8_t>> m_ExtraAlphaBuf;
   FX_RECT m_SrcClip;
   int m_InterPitch;
   int m_ExtraMaskPitch;
