Merge pull request #5192

d0e07b3d performance_tests: fix NetBSD build (moneromooo-monero)
7d88d8f2 discontinue use of alloca (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2019-03-17 17:56:52 +02:00
commit c3de019f56
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
3 changed files with 6 additions and 16 deletions

View file

@ -34,15 +34,6 @@
#include "hash-ops.h"
#ifdef _MSC_VER
#include <malloc.h>
#elif !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__) \
&& !defined(__NetBSD__)
#include <alloca.h>
#else
#include <stdlib.h>
#endif
/***
* Round to power of two, for count>=3 and for count being not too large (as reasonable for tree hash calculations)
*/
@ -91,9 +82,8 @@ void tree_hash(const char (*hashes)[HASH_SIZE], size_t count, char *root_hash) {
size_t cnt = tree_hash_cnt( count );
char (*ints)[HASH_SIZE];
size_t ints_size = cnt * HASH_SIZE;
ints = alloca(ints_size); memset( ints , 0 , ints_size); // allocate, and zero out as extra protection for using uninitialized mem
char ints[cnt][HASH_SIZE];
memset(ints, 0 , sizeof(ints)); // zero out as extra protection for using uninitialized mem
memcpy(ints, hashes, (2 * cnt - count) * HASH_SIZE);