Fix a missing part of the Burnikel-Ziegler algorithm#348
Merged
Conversation
lucifer1004
added a commit
to lucifer1004/farkas
that referenced
this pull request
Jul 5, 2026
0.4.7's new Burnikel-Ziegler division misses the Algorithm 2 step 3 condition (rust-num/num-bigint#348, found by OSS-Fuzz) and can mis-divide or crash when the dividend exceeds ~8192 bits with a divisor over ~4096 bits. That is beyond any operand size this workload has been observed to produce, but the daemon accepts arbitrary input, so take the fix before the first crates.io publish. The v4.31.0-farkas.1 tag and release are re-cut on this commit (pre-announcement, no consumers). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
When this algorithm was implemented in #316, it missed the condition described in the paper under Algorithm 2 step 3, and thus could lead to a precondition assertion failure. This condition is now implemented.
This regression was found by OSS Fuzz: https://issues.oss-fuzz.com/issues/531153120