Avoid panic on buffers with embedded nul bytes #90
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.
Some crates use log crate with a message padded with a number of nullbytes [1]. This currently causes panics.
Using
CStr::from_bytes_until_nul
accepts multiple null-bytes, and instead stops at the first nullbyte in a buffer.This may truncate some logs with text interspersed with nullbytes. However, I'd say logging something there is a less-bad option than crashing just because we got a nullbyte in the &str.
[1] https://github.com/cloudflare/quiche/blob/d0efd2c5278b9dbe8d6544c3015f8c772f3513b4/quiche/src/tls/mod.rs#L1040