Get rid of some needless pointer arithmetic in GenerateFileID().

We are starting to consider pFoo++ as a code smell.

- Return a ByteString since all callers want one.
- Slight reorder for easier reading.

Change-Id: I98adb1c55aec9079063fcee248847bfdf8494c17
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/51933
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/edit/cpdf_creator.cpp b/core/fpdfapi/edit/cpdf_creator.cpp
index da3a9d3..3915c1b 100644
--- a/core/fpdfapi/edit/cpdf_creator.cpp
+++ b/core/fpdfapi/edit/cpdf_creator.cpp
@@ -115,20 +115,17 @@
   return WriteBlock(str.raw_str(), str.GetLength());
 }
 
-std::vector<uint8_t> GenerateFileID(uint32_t dwSeed1, uint32_t dwSeed2) {
-  std::vector<uint8_t> buffer(sizeof(uint32_t) * 4);
-  uint32_t* pBuffer = reinterpret_cast<uint32_t*>(buffer.data());
-  void* pContext = FX_Random_MT_Start(dwSeed1);
-  for (int i = 0; i < 2; ++i)
-    *pBuffer++ = FX_Random_MT_Generate(pContext);
-
-  FX_Random_MT_Close(pContext);
-  pContext = FX_Random_MT_Start(dwSeed2);
-  for (int i = 0; i < 2; ++i)
-    *pBuffer++ = FX_Random_MT_Generate(pContext);
-
-  FX_Random_MT_Close(pContext);
-  return buffer;
+ByteString GenerateFileID(uint32_t dwSeed1, uint32_t dwSeed2) {
+  uint32_t buffer[4];
+  void* pContext1 = FX_Random_MT_Start(dwSeed1);
+  void* pContext2 = FX_Random_MT_Start(dwSeed2);
+  buffer[0] = FX_Random_MT_Generate(pContext1);
+  buffer[1] = FX_Random_MT_Generate(pContext1);
+  buffer[2] = FX_Random_MT_Generate(pContext2);
+  buffer[3] = FX_Random_MT_Generate(pContext2);
+  FX_Random_MT_Close(pContext1);
+  FX_Random_MT_Close(pContext2);
+  return ByteString(pdfium::as_bytes<uint32_t>(buffer));
 }
 
 bool OutputIndex(IFX_ArchiveStream* archive, FX_FILESIZE offset) {
@@ -600,9 +597,8 @@
   if (pID1) {
     m_pIDArray->Add(pID1->Clone());
   } else {
-    std::vector<uint8_t> buffer =
+    ByteString bsBuffer =
         GenerateFileID((uint32_t)(uintptr_t)this, m_dwLastObjNum);
-    ByteString bsBuffer(buffer.data(), buffer.size());
     m_pIDArray->AddNew<CPDF_String>(bsBuffer, true);
   }
 
@@ -612,9 +608,8 @@
       m_pIDArray->Add(pID2->Clone());
       return;
     }
-    std::vector<uint8_t> buffer =
+    ByteString bsBuffer =
         GenerateFileID((uint32_t)(uintptr_t)this, m_dwLastObjNum);
-    ByteString bsBuffer(buffer.data(), buffer.size());
     m_pIDArray->AddNew<CPDF_String>(bsBuffer, true);
     return;
   }