aboutsummaryrefslogtreecommitdiff
path: root/tests/unit_tests
diff options
context:
space:
mode:
authorAlexander Blair <snipa@jagtech.io>2020-08-16 12:53:50 -0700
committerAlexander Blair <snipa@jagtech.io>2020-08-16 12:53:50 -0700
commit10ad0d7eb274bcbad064eaa0de0483d6f94231d3 (patch)
treeba61cb2927188da0b873094a3f438b1514bacdc0 /tests/unit_tests
parentMerge pull request #6716 (diff)
parentFix overflow issue in epee:misc_utils::rolling_median_t and median(), with un... (diff)
downloadmonero-10ad0d7eb274bcbad064eaa0de0483d6f94231d3.tar.xz
Merge pull request #6718
85efc88c1 Fix overflow issue in epee:misc_utils::rolling_median_t and median(), with unit test (koe)
Diffstat (limited to 'tests/unit_tests')
-rw-r--r--tests/unit_tests/rolling_median.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/unit_tests/rolling_median.cpp b/tests/unit_tests/rolling_median.cpp
index 730f1e7c5..d415c5b95 100644
--- a/tests/unit_tests/rolling_median.cpp
+++ b/tests/unit_tests/rolling_median.cpp
@@ -170,6 +170,17 @@ TEST(rolling_median, history_blind)
}
}
+TEST(rolling_median, overflow)
+{
+ epee::misc_utils::rolling_median_t<uint64_t> m(2);
+
+ uint64_t over_half = static_cast<uint64_t>(3) << static_cast<uint64_t>(62);
+ m.insert(over_half);
+ m.insert(over_half);
+ ASSERT_EQ((over_half + over_half) < over_half, true);
+ ASSERT_EQ(over_half, m.median());
+}
+
TEST(rolling_median, size)
{
epee::misc_utils::rolling_median_t<uint64_t> m(10);