Make CPDF_Stream::InitStreamFromFile()'s dict parameter required.

Fix the only unit test that passes in nullptr.

Change-Id: I7c0eed16bd55ba7427be50ae23721df3325ed416
Reviewed-on: https://pdfium-review.googlesource.com/c/50953
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp
index 4b042d9..06b7657 100644
--- a/core/fpdfapi/parser/cpdf_stream.cpp
+++ b/core/fpdfapi/parser/cpdf_stream.cpp
@@ -78,13 +78,12 @@
 void CPDF_Stream::InitStreamFromFile(
     const RetainPtr<IFX_SeekableReadStream>& pFile,
     std::unique_ptr<CPDF_Dictionary> pDict) {
-  m_pDict = std::move(pDict);
   m_bMemoryBased = false;
   m_pDataBuf.reset();
   m_pFile = pFile;
   m_dwSize = pdfium::base::checked_cast<uint32_t>(pFile->GetSize());
-  if (m_pDict)
-    m_pDict->SetNewFor<CPDF_Number>("Length", static_cast<int>(m_dwSize));
+  m_pDict = std::move(pDict);
+  m_pDict->SetNewFor<CPDF_Number>("Length", static_cast<int>(m_dwSize));
 }
 
 std::unique_ptr<CPDF_Object> CPDF_Stream::Clone() const {
diff --git a/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp b/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
index f8a46cf..f176aa5 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
+++ b/core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp
@@ -31,7 +31,8 @@
 
 TEST(CPDF_StreamAccTest, ReadRawDataFailed) {
   CPDF_Stream stream;
-  stream.InitStreamFromFile(pdfium::MakeRetain<InvalidStream>(), nullptr);
+  stream.InitStreamFromFile(pdfium::MakeRetain<InvalidStream>(),
+                            pdfium::MakeUnique<CPDF_Dictionary>());
   auto stream_acc = pdfium::MakeRetain<CPDF_StreamAcc>(&stream);
   stream_acc->LoadAllDataRaw();
   EXPECT_EQ(0u, stream_acc->GetSize());