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

Document Internal Safety and Remove Most Unsafety #127

Merged
merged 1 commit into from
Sep 13, 2024
Merged

Conversation

Alexhuszagh
Copy link
Owner

@Alexhuszagh Alexhuszagh commented Sep 13, 2024

This gets rid of almost all difficult to prove safety variants in the util and write-integer crates and with careful redesign, almost all of the unsafe use in both has been removed. Only algorithm still has some but due to the isolated nature of it and the easy-to-prove conditions of safety as long as the direct caller ensures the buffer size is sufficient, there is little risk of a large security vulnerability.

Documentation on the safety considerations has also been made prominent. This also makes it easier for security audits to find potential causes of vulnerabilities. The documentation will improve further.

This also fixes UB in our radix serializer.

2024-09-13 02_00_45-Settings

Closes #126
Addressed #100

@Alexhuszagh Alexhuszagh added high priority High priority A-sec Issues with potential security implications. labels Sep 13, 2024
@Alexhuszagh Alexhuszagh added this to the 1.0 milestone Sep 13, 2024
Fix a bug with invalid MaybeUnit memory initialization and also ensure
that almost all unsafety is removed from the write integer algorithms.
This removes almost all safety concerns where the only non-local
unsafety is in algorithm which is easy to demonstrate is safe by the
callers.
@Alexhuszagh Alexhuszagh merged commit 0809913 into main Sep 13, 2024
40 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-sec Issues with potential security implications. high priority High priority
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] Radix Integer Formatter Incorrectly Uses Uninitialized Memory
1 participant