fix(stump_modified_add): skip all 0's input#516
Merged
brunoerg merged 1 commit intobitcoinfuzz:v2from Apr 7, 2026
Merged
Conversation
brunoerg
reviewed
Apr 7, 2026
65483d0 to
d755d92
Compare
Contributor
Author
|
Force pushed solving #516 (comment). |
brunoerg
requested changes
Apr 7, 2026
Collaborator
brunoerg
left a comment
There was a problem hiding this comment.
Force pushed solving #516 (comment).
I don't see the comment in the code.
d755d92 to
1c078c7
Compare
Contributor
Author
Forgot to save the change before amending, skill issue. |
brunoerg
reviewed
Apr 7, 2026
| if (hash.size() < 32) { | ||
| break; | ||
| } | ||
| // Skip all-zero hashes because Utreexo treats them as a special case (empty |
Collaborator
There was a problem hiding this comment.
Utreexo or Utreexod implementation?
Suggested change
| // Skip all-zero hashes because Utreexo treats them as a special case (empty | |
| // Skip all-zero hashes because Utreexod treats them as a special case (empty |
Contributor
Author
There was a problem hiding this comment.
Utreexod is the full node implementation. The dynamic acumulator repo is indeed called utreexo. But it probably isn't clear for a user that "utreexo" is refering to the specific go implementation. I'll change that.
Contributor
Author
There was a problem hiding this comment.
Changed comment to better specify reference to utreexod's specific accumulator implementation.
6504e41 to
bc6aa5a
Compare
While utreexo's Go implementation considers a hash consisting of all 0 bytes as e^Cty, rustreexo has no such restriction, considering it a valid hash, which means that an all 0's input is outside the shared domain of both implementations and should be skipped.
bc6aa5a to
3290a29
Compare
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.
While
utreexo's Go implementation considers a hash consisting of all 0 bytes as empty,rustreexohas no such restriction, considering it a valid hash, which means that an all 0's input is outside the shared domain of both implementations and should be skipped.Added a lambda function in
driver.cpp'sstump_modified_addtarget to skip the case where a hash is composed of all zeros.