Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MONGOCRYPT-702 FLE2 range floating point correctness issue when using precision mode #868

Merged
merged 11 commits into from
Jul 24, 2024

Conversation

shreyaskalyan
Copy link
Collaborator

No description provided.

.evergreen/init.sh Outdated Show resolved Hide resolved
src/mc-range-encoding-private.h Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Show resolved Hide resolved
Copy link
Collaborator Author

@shreyaskalyan shreyaskalyan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

RFAL. I updated the errors for decimal128. PTAL at subtraction closely in Decimal128. I think it's correct but maybe worth making it more resilient.

.evergreen/init.sh Outdated Show resolved Hide resolved
src/mc-range-encoding-private.h Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
@shreyaskalyan shreyaskalyan requested a review from erwee July 22, 2024 17:12
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Outdated Show resolved Hide resolved
Comment on lines 567 to 570
if (precision > 255) {
CLIENT_ERR("Invalid value for precision. Must be less than 255. precision: %" PRIu32, precision);
return false;
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where does 255 come from?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mlib_int128_pow10 takes a uint8_t, so we have to ensure that precision can fit into there. I have changed it to uint8_t max.

@shreyaskalyan shreyaskalyan requested a review from erwee July 24, 2024 13:12
src/mc-range-encoding.c Outdated Show resolved Hide resolved
src/mc-range-encoding.c Show resolved Hide resolved
@shreyaskalyan shreyaskalyan merged commit 6bb3058 into master Jul 24, 2024
51 of 54 checks passed
@shreyaskalyan shreyaskalyan deleted the shreyaskalyan/MONGOCRYPT-702 branch July 24, 2024 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants