Make mg_random() fallible. Abort TLS on weak RNG

This commit is contained in:
Sergey Lyubka authored and Sergio R. Caprile committed 2024-09-02 11:06:10 -03:00
1 parent 44b3d60692
commit 683f65f8ac
62 files changed
+253 -111

No files matched your search

@@ -26,11 +26,12 @@ __attribute__((interrupt())) void SysTick_Handler(void) {
SysTick->SR = 0;
}
void mg_random(void *buf, size_t len) { // Use on-board RNG
bool mg_random(void *buf, size_t len) { // Use on-board RNG
for (size_t n = 0; n < len; n += sizeof(uint32_t)) {
uint32_t r = rng_read();
memcpy((char *) buf + n, &r, n + sizeof(r) > len ? len - n : sizeof(r));
}
return true;
}
uint64_t mg_millis(void) { // Let Mongoose use our uptime function