Add CHECK to validate Flate encoding success

Verify that FlateModule::Encode() produces
non-empty data by adding CHECK(!GetSpan().empty()).

This ensures the encoder does not proceed with
invalid or empty encoded data.

Fixed: 381999805
Change-Id: Idbbaaafe430d2a5a956e76d4c4e55ba9f8ade00d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/126990
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Thomas Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_flateencoder.cpp b/core/fpdfapi/parser/cpdf_flateencoder.cpp
index 0e977d8..e358d1d 100644
--- a/core/fpdfapi/parser/cpdf_flateencoder.cpp
+++ b/core/fpdfapi/parser/cpdf_flateencoder.cpp
@@ -42,8 +42,8 @@
     return;
   }
 
-  // TODO(thestig): Move to Init() and check for empty return value?
   m_Data = FlateModule::Encode(m_pAcc->GetSpan());
+  CHECK(!GetSpan().empty());
   m_pClonedDict = ToDictionary(pStream->GetDict()->Clone());
   m_pClonedDict->SetNewFor<CPDF_Number>(
       "Length", pdfium::checked_cast<int>(GetSpan().size()));