From 2d3c33462242cada87a857143101cd99cd94b8f8 Mon Sep 17 00:00:00 2001 From: Yedidya Feldblum Date: Sat, 9 Dec 2017 09:47:06 -0800 Subject: [PATCH] Fix UBSAN failure in RangeTest.cpp with libstdc++-v4.9 Summary: [Folly] Fix UBSAN failure in `RangeTest.cpp` with `libstdc++-v4.9`. The implementation of `std::array` in `libstdc++-v4.9` has undefined behavior in the case of the zero-length array - dereferencing (but immediately taking the address again) of `nullptr`. This is fixed in `libstdc++-v5`. Reviewed By: ot Differential Revision: D6528614 fbshipit-source-id: 26be6bdc28d9e6dc6e6293a4d4ecffd769c01413 --- folly/test/RangeTest.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/folly/test/RangeTest.cpp b/folly/test/RangeTest.cpp index dbe8d88f..b1298cac 100644 --- a/folly/test/RangeTest.cpp +++ b/folly/test/RangeTest.cpp @@ -1201,7 +1201,7 @@ TEST(CRangeFunc, StdArrayZero) { auto const numArrayRange = crange(numArray); EXPECT_TRUE( (std::is_same::value)); - EXPECT_THAT(numArrayRange, testing::ElementsAreArray(numArray)); + EXPECT_THAT(numArrayRange, testing::IsEmpty()); } TEST(CRangeFunc, Collection) { -- 2.34.1