Cover integer divide by zero cases in cpdf_psengine.cpp

Change-Id: I77af41fca5f0c25ba6e03affeaa3b18ba9793d74
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69190
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_psengine_unittest.cpp b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
index e7a61f7..3bfab6b 100644
--- a/core/fpdfapi/page/cpdf_psengine_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
@@ -94,6 +94,14 @@
   EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, -5, PSOP_ABS));
 }
 
+TEST(CPDF_PSEngine, IDivByZero) {
+  CPDF_PSEngine engine;
+
+  // Integer divide by zero is defined as resulting in 0.
+  EXPECT_FLOAT_EQ(0.0f, DoOperator2(&engine, 100, 0.0, PSOP_IDIV));
+  EXPECT_FLOAT_EQ(0.0f, DoOperator2(&engine, 100, 0.0, PSOP_MOD));
+}
+
 TEST(CPDF_PSEngine, Ceiling) {
   CPDF_PSEngine engine;