From 144cf62d7c3eed3f5412edb18b238b2c1209f4c1 Mon Sep 17 00:00:00 2001 From: Jeff Garzik Date: Mon, 21 Mar 2011 03:45:26 -0400 Subject: Avoid potential for div-by-zero, when calculating max-nonce --- cpu-miner.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'cpu-miner.c') diff --git a/cpu-miner.c b/cpu-miner.c index e402b0b..554a297 100644 --- a/cpu-miner.c +++ b/cpu-miner.c @@ -585,10 +585,15 @@ static void *miner_thread(void *userdata) hashmeter(thr_id, &diff, hashes_done); /* adjust max_nonce to meet target scan time */ - max64 = ((uint64_t)hashes_done * opt_scantime) / diff.tv_sec; - if (max64 > 0xfffffffaULL) - max64 = 0xfffffffaULL; - max_nonce = max64; + if (diff.tv_usec > 500000) + diff.tv_sec++; + if (diff.tv_sec > 0) { + max64 = + ((uint64_t)hashes_done * opt_scantime) / diff.tv_sec; + if (max64 > 0xfffffffaULL) + max64 = 0xfffffffaULL; + max_nonce = max64; + } /* if nonce found, submit work */ if (rc && !submit_work(mythr, &work)) -- cgit v1.2.3-18-g5258