Skip to content

Commit 74c34e7

Browse files
Merge bitcoin-core/secp256k1#1009: refactor: Use (int)&(int) in boolean context to avoid compiler warning
16d1322 refactor: Use (int)&(int) in boolean context to avoid compiler warning (MarcoFalke) Pull request description: This one should *really* be only a refactor with the goal to silence static analysis warnings. clang-14 (trunk) recently added one in commit llvm/llvm-project@f62d18f and I expect other tools will offer similar warnings. Follow up to #1006, which was not a refactor. ACKs for top commit: real-or-random: ACK 16d1322 jonasnick: ACK 16d1322 Tree-SHA512: c465522ea4ddb58b5974c95bc36423c453e6fcf5948cb32114172113b5244209ceaa9418ec86ebe210390ae5509c2f24a42c41a7353de4cfb8fd063b0d5c0e79
2 parents c74a7b7 + 16d1322 commit 74c34e7

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Diff for: src/ecdsa_impl.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -304,12 +304,12 @@ static int secp256k1_ecdsa_sig_sign(const secp256k1_ecmult_gen_context *ctx, sec
304304
high = secp256k1_scalar_is_high(sigs);
305305
secp256k1_scalar_cond_negate(sigs, high);
306306
if (recid) {
307-
*recid ^= high;
307+
*recid ^= high;
308308
}
309309
/* P.x = order is on the curve, so technically sig->r could end up being zero, which would be an invalid signature.
310310
* This is cryptographically unreachable as hitting it requires finding the discrete log of P.x = N.
311311
*/
312-
return !secp256k1_scalar_is_zero(sigr) & !secp256k1_scalar_is_zero(sigs);
312+
return (int)(!secp256k1_scalar_is_zero(sigr)) & (int)(!secp256k1_scalar_is_zero(sigs));
313313
}
314314

315315
#endif /* SECP256K1_ECDSA_IMPL_H */

0 commit comments

Comments
 (0)