From df9b45a6568ee8002ad64cabcc5124192f38d749 Mon Sep 17 00:00:00 2001 From: Eli Fidler Date: Tue, 31 May 2016 12:29:09 -0400 Subject: [PATCH] avoid division by zero, which is undefined behavior UBSAN gave: runtime error: division by zero --- test/unittest/writertest.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test/unittest/writertest.cpp b/test/unittest/writertest.cpp index 22f428e..29f7626 100644 --- a/test/unittest/writertest.cpp +++ b/test/unittest/writertest.cpp @@ -439,11 +439,9 @@ TEST(Writer, InvalidEventSequence) { } } -extern double zero; // clang -Wmissing-variable-declarations -double zero = 0.0; // Use global variable to prevent compiler warning - TEST(Writer, NaN) { - double nan = zero / zero; + double nan = std::numeric_limits::quiet_NaN(); + EXPECT_TRUE(internal::Double(nan).IsNan()); StringBuffer buffer; { @@ -461,7 +459,8 @@ TEST(Writer, NaN) { } TEST(Writer, Inf) { - double inf = 1.0 / zero; + double inf = std::numeric_limits::infinity(); + EXPECT_TRUE(internal::Double(inf).IsInf()); StringBuffer buffer; {