summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Boric <jblbeurope@gmail.com>2021-02-11 19:26:00 +0100
committerAndreas Kling <kling@serenityos.org>2021-02-11 20:58:39 +0100
commitf8c352a0227bc4fec4824256be31677d99f11427 (patch)
treebb8602b437ce9e9447a632323017154c3009625d
parenteedb6480dfdd3cb07c01155bed4e865b880f7a86 (diff)
downloadserenity-f8c352a0227bc4fec4824256be31677d99f11427.zip
Kernel: Fix undefined signed overflow in KernelRng's RTC fallback
-rw-r--r--Kernel/Random.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/Kernel/Random.cpp b/Kernel/Random.cpp
index be13714dab..51adeacbd5 100644
--- a/Kernel/Random.cpp
+++ b/Kernel/Random.cpp
@@ -77,11 +77,11 @@ KernelRng::KernelRng()
} else {
// Fallback to RTC
klog() << "KernelRng: Using RTC as entropy source (bad!)";
- time_t current_time = RTC::now();
+ auto current_time = static_cast<u64>(RTC::now());
for (size_t i = 0; i < resource().pool_count * resource().reseed_threshold; ++i) {
this->resource().add_random_event(current_time, i % 32);
- current_time *= 0x574a;
- current_time += 0x40b2;
+ current_time *= 0x574au;
+ current_time += 0x40b2u;
}
}
}