From 22f96521fce9dd6e519d55bd84c5c80ada80d5d4 Mon Sep 17 00:00:00 2001 From: wiire-a Date: Tue, 7 Nov 2017 21:09:32 +0100 Subject: [PATCH] Switched to stack allocation during multithreading For better performance. --- src/pixiewps.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/pixiewps.c b/src/pixiewps.c index c97aafe..e53244a 100644 --- a/src/pixiewps.c +++ b/src/pixiewps.c @@ -95,19 +95,19 @@ static struct job_control { static void *crack_thread(void *arg) { struct crack_job *j = arg; - struct m_random_data *buf = calloc(1, sizeof(struct m_random_data)); - char *rand_statebuf = calloc(128, 1); + struct m_random_data buf = {0}; + char rand_statebuf[128] = {0}; uint32_t seed = j->start; uint32_t limit = job_control.end; - m_initstate_r(seed, rand_statebuf, 128, buf); + m_initstate_r(seed, rand_statebuf, 128, &buf); int32_t res = 0; while (!job_control.nonce_seed) { - m_srandom_r(seed, buf); + m_srandom_r(seed, &buf); unsigned int i; for (i = 0; i < 4; i++) { - m_random_r(buf, &res); + m_random_r(&buf, &res); if ((uint32_t) res != job_control.randr_enonce[i]) break; } @@ -130,9 +130,6 @@ static void *crack_thread(void *arg) { } } - free(buf); - free(rand_statebuf); - return 0; }