2016-10-20 01:31:50 +00:00
|
|
|
//
|
|
|
|
// MemoryFuzzer.hpp
|
|
|
|
// 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
|
|
|
//
|
|
|
|
|
2024-01-17 04:34:46 +00:00
|
|
|
#pragma once
|
2016-10-20 01:31:50 +00:00
|
|
|
|
|
|
|
#include <cstdint>
|
|
|
|
#include <cstddef>
|
2017-06-05 14:36:07 +00:00
|
|
|
#include <vector>
|
2016-10-20 01:31:50 +00:00
|
|
|
|
|
|
|
namespace Memory {
|
|
|
|
|
2017-07-22 21:39:51 +00:00
|
|
|
/// Stores @c size random bytes from @c buffer onwards.
|
2017-11-11 20:28:40 +00:00
|
|
|
void Fuzz(uint8_t *buffer, std::size_t size);
|
2017-07-22 21:39:51 +00:00
|
|
|
|
2019-06-13 17:35:16 +00:00
|
|
|
/// Stores @c size random 16-bit words from @c buffer onwards.
|
|
|
|
void Fuzz(uint16_t *buffer, std::size_t size);
|
|
|
|
|
2021-02-13 02:50:24 +00:00
|
|
|
/// Replaces all existing vector or array contents with random bytes.
|
|
|
|
template <typename T> void Fuzz(T &buffer) {
|
|
|
|
Fuzz(reinterpret_cast<uint8_t *>(buffer.data()), buffer.size() * sizeof(typename T::value_type));
|
2019-08-12 01:41:12 +00:00
|
|
|
}
|
2016-10-20 01:31:50 +00:00
|
|
|
|
|
|
|
}
|