From 9566f1c9694674f986acc63fe257dacb4a1239f7 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Thu, 28 Aug 2014 21:21:46 +1000 Subject: [PATCH] Cache the reuse of the nonce2 hex length --- src/stratifier.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/stratifier.c b/src/stratifier.c index 5799a314..355951ca 100644 --- a/src/stratifier.c +++ b/src/stratifier.c @@ -1813,8 +1813,9 @@ static json_t *parse_submit(stratum_instance_t *client, json_t *json_msg, strcpy(idstring, wb->idstring); ASPRINTF(&fname, "%s.sharelog", wb->logdir); /* Fix broken clients sending too many chars */ - if ((int)strlen(nonce2) > wb->enonce2varlen * 2) - nonce2[wb->enonce2varlen * 2] = '\0'; + len = wb->enonce2varlen * 2; + if ((int)strlen(nonce2) > len) + nonce2[len] = '\0'; sdiff = submission_diff(client, wb, nonce2, ntime32, nonce, hash); bswap_256(sharehash, hash); __bin2hex(hexhash, sharehash, 32); @@ -1824,7 +1825,7 @@ static json_t *parse_submit(stratum_instance_t *client, json_t *json_msg, json_set_string(json_msg, "reject-reason", SHARE_ERR(err)); goto out_unlock; } - if ((int)strlen(nonce2) < wb->enonce2varlen * 2) { + if ((int)strlen(nonce2) < len) { err = SE_INVALID_NONCE2; *err_val = JSON_ERR(err); goto out_unlock;