From dd16769ab669527c351af2e13c8d4f08d5f9661c Mon Sep 17 00:00:00 2001 From: Jethro Grassie Date: Sat, 25 Jan 2020 01:31:36 -0500 Subject: [PATCH] improve bad share handling (reported by cohcho, thank you) --- src/pool.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/pool.c b/src/pool.c index d9d6825..e8b4400 100644 --- a/src/pool.c +++ b/src/pool.c @@ -2585,17 +2585,6 @@ client_on_read(struct bufferevent *bev, void *ctx) return; } - if (client->bad_shares > MAX_BAD_SHARES) - { - char body[ERROR_BODY_MAX]; - stratum_get_error_body(body, client->json_id, too_bad); - evbuffer_add(output, body, strlen(body)); - log_info(too_bad); - evbuffer_drain(input, len); - client_clear(bev); - return; - } - while ((line = evbuffer_readln(input, &n, EVBUFFER_EOL_LF))) { json_object *message = json_tokener_parse(line); @@ -2661,6 +2650,16 @@ client_on_read(struct bufferevent *bev, void *ctx) client_clear(bev); return; } + if (client->bad_shares > MAX_BAD_SHARES) + { + char body[ERROR_BODY_MAX]; + stratum_get_error_body(body, client->json_id, too_bad); + evbuffer_add(output, body, strlen(body)); + log_info(too_bad); + evbuffer_drain(input, len); + client_clear(bev); + return; + } } }