ecdsa: Fix uninitialized field element in signature verification#1838
Closed
mllwchrry wants to merge 1 commit intobitcoin-core:masterfrom
Closed
ecdsa: Fix uninitialized field element in signature verification#1838mllwchrry wants to merge 1 commit intobitcoin-core:masterfrom
mllwchrry wants to merge 1 commit intobitcoin-core:masterfrom
Conversation
Contributor
Author
|
Closing in favor of #1839. |
real-or-random
added a commit
that referenced
this pull request
Mar 25, 2026
43fca0f ecdsa: VERIFY_CHECK result of _fe_set_b32_limit (Tim Ruffing) Pull request description: This also avoids a spurious `-Wmaybe-uninitialized` warning emitted by gcc 16 (snapshot) when compiling with `-DDETERMINISTIC`. Alternative to #1838 by @mllwchrry who tried very a similar thing as this PR but couldn't convince the compiler. (The GCC snapshot is very annoying: a simple `VERIFY_CHECK(secp256k1_fe_set_b32_limit(&xr, c))` doesn't do the trick. I found this variant here with a local store rather by accident.) ACKs for top commit: mllwchrry: ACK 43fca0f theStack: utACK 43fca0f Tree-SHA512: 2550043e953675db7614f98bbdffb706721834967ef36f7c905f7cbfeee5d88189a9acfcd64865ef822bb0e3272d228440bdfb1124228afe083e025056e53212
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes an uninitialized variable issue in
src/ecdsa_impl.hwhere thexrfield element may not be fully initialized before use.This error was exposed while I was testing the improved test coverage in CI. The initial plan was to simplify the configuration of modules in CI by enabling all modules by default and testing the disabling of each module independently.
Error: src/field_impl.h:157:20: error: 'xr.normalized' may be used uninitialized [-Werror=maybe-uninitialized].
The error occurred when running the
x86_64: Linux (Debian stable) (-DDETERMINISTIC, gcc-snapshot)CI job, which uses GCC 16 (snapshot) with strict compilation flags. See this action run for reference: https://github.com/mllwchrry/secp256k1/actions/runs/23301905657/job/67769464777.