Cope with not finding nonces in avalon parsing gracefully by not overflowing buffers.
diff --git a/driver-avalon.c b/driver-avalon.c
index d5b58a6..486c0c6 100644
--- a/driver-avalon.c
+++ b/driver-avalon.c
@@ -622,9 +622,6 @@ static void avalon_parse_results(struct cgpu_info *avalon, struct avalon_info *i
size_t i, spare = AVALON_READ_SIZE - *offset;
bool found = false;
- if (spare > AVALON_READ_SIZE - 1)
- spare = AVALON_READ_SIZE - 1;
-
for (i = 0; i <= spare; i++) {
struct avalon_result *ar;
struct work *work;
@@ -650,7 +647,10 @@ static void avalon_parse_results(struct cgpu_info *avalon, struct avalon_info *i
}
}
- spare = AVALON_READ_SIZE + i;
+ if (!found)
+ spare = *offset - AVALON_READ_SIZE - 1;
+ else
+ spare = AVALON_READ_SIZE + i;
*offset -= spare;
memmove(buf, buf + spare, *offset);
if (!found) {