From: Matt Corallo Date: Mon, 27 Mar 2017 05:46:38 +0000 (-0700) Subject: Fix share id == 0 check for share at index 0 X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=516104aa2dda7c609a083c8d4ff93e65a5148be5;p=shamirs Fix share id == 0 check for share at index 0 --- diff --git a/main.c b/main.c index a46dda1..af5a7d7 100644 --- a/main.c +++ b/main.c @@ -201,7 +201,7 @@ int main(int argc, char* argv[]) { // TODO: The following loop may take a long time and eat lots of /dev/random if total_shares is high for (uint32_t i = 0; i < total_shares; i++) { - int32_t j = 0; + int32_t j = -1; do { assert(fread(&x[i], sizeof(uint8_t), 1, random) == 1); if (x[i] == 0) @@ -209,7 +209,7 @@ int main(int argc, char* argv[]) { for (j = 0; j < i; j++) if (x[j] == x[i]) break; - } while (j < i); // Inner loop will get to j = i when x[j] != x[i] for all j + } while (j < (int32_t)i); // Inner loop will get to j = i when x[j] != x[i] for all j if (i % 32 == 31) printf("Finished picking X coordinates for %u shares\n", i+1); }