Add a second line of defense against negative offsets

Make CPDF_ReadValidator::ReadBlockAtOffset return immediately in
this case.

Change-Id: I4db0a4a149831c0e22b5d37276ef515ab5aa1b5f
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/93614
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_read_validator.cpp b/core/fpdfapi/parser/cpdf_read_validator.cpp
index c02268f..47e113a 100644
--- a/core/fpdfapi/parser/cpdf_read_validator.cpp
+++ b/core/fpdfapi/parser/cpdf_read_validator.cpp
@@ -57,6 +57,11 @@
 bool CPDF_ReadValidator::ReadBlockAtOffset(void* buffer,
                                            FX_FILESIZE offset,
                                            size_t size) {
+  if (offset < 0) {
+    NOTREACHED();
+    return false;
+  }
+
   FX_SAFE_FILESIZE end_offset = offset;
   end_offset += size;
   if (!end_offset.IsValid() || end_offset.ValueOrDie() > file_size_)