summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/ec/ec_mult.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/libcrypto/ec/ec_mult.c b/src/lib/libcrypto/ec/ec_mult.c
index c119410e4a..546a74c590 100644
--- a/src/lib/libcrypto/ec/ec_mult.c
+++ b/src/lib/libcrypto/ec/ec_mult.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_mult.c,v 1.44 2024/11/22 16:17:36 tb Exp $ */ 1/* $OpenBSD: ec_mult.c,v 1.45 2024/11/22 16:27:46 tb Exp $ */
2/* 2/*
3 * Originally written by Bodo Moeller and Nils Larsch for the OpenSSL project. 3 * Originally written by Bodo Moeller and Nils Larsch for the OpenSSL project.
4 */ 4 */
@@ -124,8 +124,8 @@ ec_compute_wNAF(const BIGNUM *bn, signed char **out_wNAF, size_t *out_wNAF_len,
124 sign = BN_is_negative(bn) ? -1 : 1; 124 sign = BN_is_negative(bn) ? -1 : 1;
125 125
126 window = bn->d[0] & mask; 126 window = bn->d[0] & mask;
127 i = 0; 127
128 while (window != 0 || i + wbits + 1 < wNAF_len) { 128 for (i = 0; i + wbits + 1 < wNAF_len || window != 0; i++) {
129 digit = 0; 129 digit = 0;
130 130
131 if ((window & 1) != 0) { 131 if ((window & 1) != 0) {
@@ -139,9 +139,9 @@ ec_compute_wNAF(const BIGNUM *bn, signed char **out_wNAF, size_t *out_wNAF_len,
139 window -= digit; 139 window -= digit;
140 } 140 }
141 141
142 wNAF[i++] = sign * digit; 142 wNAF[i] = sign * digit;
143 window >>= 1; 143 window >>= 1;
144 window += bit * BN_is_bit_set(bn, i + wbits); 144 window += bit * BN_is_bit_set(bn, i + wbits + 1);
145 } 145 }
146 146
147 wNAF_len = i; 147 wNAF_len = i;