mirror of
https://git.wownero.com/wownero/RandomWOW.git
synced 2024-08-15 00:23:14 +00:00
Do not attempt to allocate >= 4 GiB on 32-bit systems (#99)
+ Cache size limited to 2 GiB
This commit is contained in:
parent
41401797c9
commit
47ade5e894
3 changed files with 9 additions and 1 deletions
|
@ -31,7 +31,7 @@ Not all of the parameters can be changed safely and most parameters have some co
|
|||
This parameter determines the amount of memory needed in the light mode. Memory is specified in KiB (1 KiB = 1024 bytes).
|
||||
|
||||
#### Permitted values
|
||||
Any integer power of 2.
|
||||
Integer powers of 2 in the range 1 - 2097152.
|
||||
|
||||
#### Notes
|
||||
Lower sizes will reduce the memory-hardness of the algorithm.
|
||||
|
|
|
@ -38,6 +38,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
namespace randomx {
|
||||
|
||||
static_assert(RANDOMX_ARGON_MEMORY > 0, "RANDOMX_ARGON_MEMORY must be greater than 0.");
|
||||
static_assert(RANDOMX_ARGON_MEMORY <= 2097152, "RANDOMX_ARGON_MEMORY must not exceed 2097152.");
|
||||
static_assert((RANDOMX_ARGON_MEMORY & (RANDOMX_ARGON_MEMORY - 1)) == 0, "RANDOMX_ARGON_MEMORY must be a power of 2.");
|
||||
static_assert(RANDOMX_DATASET_BASE_SIZE >= 64, "RANDOMX_DATASET_BASE_SIZE must be at least 64.");
|
||||
static_assert((RANDOMX_DATASET_BASE_SIZE & (RANDOMX_DATASET_BASE_SIZE - 1)) == 0, "RANDOMX_DATASET_BASE_SIZE must be a power of 2.");
|
||||
|
|
|
@ -34,6 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||
#include "vm_compiled_light.hpp"
|
||||
#include "blake2/blake2.h"
|
||||
#include <cassert>
|
||||
#include <limits>
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
@ -102,6 +103,12 @@ extern "C" {
|
|||
}
|
||||
|
||||
randomx_dataset *randomx_alloc_dataset(randomx_flags flags) {
|
||||
|
||||
//fail on 32-bit systems if DatasetSize is >= 4 GiB
|
||||
if (randomx::DatasetSize > std::numeric_limits<size_t>::max()) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
randomx_dataset *dataset;
|
||||
|
||||
try {
|
||||
|
|
Loading…
Reference in a new issue