Skip to content

Commit

Permalink
Make sure we're not using an uninitialized variable in secp256k1_wnaf…
Browse files Browse the repository at this point in the history
…_const(...)
  • Loading branch information
practicalswift committed Mar 21, 2019
1 parent 452d8e4 commit 248f046
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions src/ecmult_const_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ static int secp256k1_wnaf_const(int *wnaf, secp256k1_scalar s, int w, int size)
int bit;
secp256k1_scalar neg_s;
int not_neg_one;

VERIFY_CHECK(w > 0);
VERIFY_CHECK(size > 0);

/* Note that we cannot handle even numbers by negating them to be odd, as is
* done in other implementations, since if our scalars were specified to have
* width < 256 for performance reasons, their negations would have width 256
Expand Down Expand Up @@ -93,7 +97,7 @@ static int secp256k1_wnaf_const(int *wnaf, secp256k1_scalar s, int w, int size)

/* 4 */
u_last = secp256k1_scalar_shr_int(&s, w);
while (word * w < size) {
do {
int sign;
int even;

Expand All @@ -109,7 +113,7 @@ static int secp256k1_wnaf_const(int *wnaf, secp256k1_scalar s, int w, int size)
wnaf[word++] = u_last * global_sign;

u_last = u;
}
} while (word * w < size);
wnaf[word] = u * global_sign;

VERIFY_CHECK(secp256k1_scalar_is_zero(&s));
Expand Down

0 comments on commit 248f046

Please sign in to comment.