Use memcpy() in CFX_ClipRgn::IntersectMaskRect().

Do a memcpy() instead of copying 1 byte at a time.

Change-Id: Ic11735af501f7a956f7543ebd2c84c8f28066576
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80854
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/cfx_cliprgn.cpp b/core/fxge/cfx_cliprgn.cpp
index 7c53234..5369d52 100644
--- a/core/fxge/cfx_cliprgn.cpp
+++ b/core/fxge/cfx_cliprgn.cpp
@@ -43,12 +43,12 @@
   RetainPtr<CFX_DIBitmap> pOldMask(pMask);
   m_Mask = pdfium::MakeRetain<CFX_DIBitmap>();
   m_Mask->Create(m_Box.Width(), m_Box.Height(), FXDIB_Format::k8bppMask);
+  const int offset = m_Box.left - mask_rect.left;
   for (int row = m_Box.top; row < m_Box.bottom; row++) {
     uint8_t* dest_scan =
         m_Mask->GetBuffer() + m_Mask->GetPitch() * (row - m_Box.top);
     const uint8_t* src_scan = pOldMask->GetScanline(row - mask_rect.top);
-    for (int col = m_Box.left; col < m_Box.right; col++)
-      dest_scan[col - m_Box.left] = src_scan[col - mask_rect.left];
+    memcpy(dest_scan, &src_scan[offset], m_Box.Width());
   }
 }