diff --git a/cgminer.c b/cgminer.c index a4007f63..b3dacae3 100644 --- a/cgminer.c +++ b/cgminer.c @@ -3574,9 +3574,16 @@ static void _copy_work(struct work *work, const struct work *base_work, int noff if (base_work->nonce1) work->nonce1 = strdup(base_work->nonce1); if (base_work->ntime) { - if (noffset) + /* If we are passed an noffset the binary work->data ntime and + * the work->ntime hex string need to be adjusted. */ + if (noffset) { + uint32_t *work_ntime = (uint32_t *)(work->data + 68); + uint32_t ntime = be32toh(*work_ntime); + + ntime += noffset; + *work_ntime = htobe32(ntime); work->ntime = offset_ntime(base_work->ntime, noffset); - else + } else work->ntime = strdup(base_work->ntime); } if (base_work->coinbase)