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;