From e95b42ea54d2989659232560a9932b676e801604 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Sat, 2 Nov 2013 08:46:13 +1100 Subject: [PATCH] Add a sanity check to avoid divide by zero crashes in set_target --- cgminer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cgminer.c b/cgminer.c index b58476d5..95de19cd 100644 --- a/cgminer.c +++ b/cgminer.c @@ -5926,6 +5926,12 @@ void set_target(unsigned char *dest_target, double diff) uint64_t *data64, h64; double d64, dcut64; + if (unlikely(diff == 0.0)) { + /* This shouldn't happen but best we check to prevent a crash */ + applog(LOG_ERR, "Diff zero passed to set_target"); + diff = 1.0; + } + d64 = truediffone; if (opt_scrypt) d64 *= (double)65536;