2016-10-20 01:31:50 +00:00
|
|
|
//
|
|
|
|
// MemoryFuzzer.cpp
|
|
|
|
// Clock Signal
|
|
|
|
//
|
|
|
|
// Created by Thomas Harte on 19/10/2016.
|
2018-05-13 19:19:52 +00:00
|
|
|
// Copyright 2016 Thomas Harte. All rights reserved.
|
2016-10-20 01:31:50 +00:00
|
|
|
//
|
|
|
|
|
|
|
|
#include "MemoryFuzzer.hpp"
|
|
|
|
|
|
|
|
#include <cstdlib>
|
|
|
|
|
2017-11-11 20:28:40 +00:00
|
|
|
void Memory::Fuzz(uint8_t *buffer, std::size_t size) {
|
2020-05-10 03:03:33 +00:00
|
|
|
const unsigned int divider = (unsigned(RAND_MAX) + 1) / 256;
|
2016-10-20 01:31:50 +00:00
|
|
|
unsigned int shift = 1, value = 1;
|
2017-03-26 18:34:47 +00:00
|
|
|
while(value < divider) {
|
2016-10-20 01:31:50 +00:00
|
|
|
value <<= 1;
|
2020-05-10 03:03:33 +00:00
|
|
|
++shift;
|
2016-10-20 01:31:50 +00:00
|
|
|
}
|
|
|
|
|
2020-05-10 03:03:33 +00:00
|
|
|
for(size_t c = 0; c < size; c++) {
|
2020-05-10 03:00:39 +00:00
|
|
|
buffer[c] = uint8_t(std::rand() >> shift);
|
2016-10-20 01:31:50 +00:00
|
|
|
}
|
|
|
|
}
|
2017-06-05 14:36:07 +00:00
|
|
|
|
2019-06-13 17:35:16 +00:00
|
|
|
void Memory::Fuzz(uint16_t *buffer, std::size_t size) {
|
|
|
|
Fuzz(reinterpret_cast<uint8_t *>(buffer), size * sizeof(uint16_t));
|
|
|
|
}
|