From f66dec74e62af29b9d80c4e1fed5f44ee6b39e44 Mon Sep 17 00:00:00 2001 From: Znort 987 Date: Wed, 17 Aug 2011 11:45:17 +0200 Subject: [PATCH] Fix a crash with --algo auto --- main.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/main.c b/main.c index 03fc3ca3..3d67d65b 100644 --- a/main.c +++ b/main.c @@ -373,11 +373,15 @@ static double bench_algo_stage3( enum sha256_algos algo ) { - // Random work pulled from a pool + // Use a random work block pulled from a pool static uint8_t bench_block[] = { CGMINER_BENCHMARK_BLOCK }; struct work work __attribute__((aligned(128))); - assert(sizeof(work) <= sizeof(bench_block)); - memcpy(&work, &bench_block, sizeof(work)); + + size_t bench_size = sizeof(work); + size_t work_size = sizeof(bench_block); + size_t min_size = (work_size < bench_size ? work_size : bench_size); + memset(&work, 0, sizeof(work)); + memcpy(&work, &bench_block, min_size); struct work_restart dummy; work_restart = &dummy;