0.8.37 (older version)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
These reviews are from cargo-vet. To add your review, set up cargo-vet
and submit your URL to its registry.
The current version of Rgb is 0.8.90-alpha.2.
0.8.37 (older version)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
0.8.36 (older version)
From kornelski/crev-proofs copy of salsa.debian.org.
Packaged for Debian (stable). Changelog:
[ Blair Noctis ]
cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.
This crate can be compiled, run, and tested on a local workstation or in controlled automation without surprising consequences. More…
May have been packaged automatically without a review
These reviews are from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
The current version of Rgb is 0.8.90-alpha.2.
0.8.20 (older version) Thoroughness: Low Understanding: Medium
by HeroicKatora on 2020-08-29
On first glance you'll find a lot of unsafety but most of it is (now) benign. The largest parts are casting a transparent, repr-C wrapper struct to native arrays or slices and forwarding impls of bytemuck::{Pod, Zeroable} accordingly. There's a derive crate for bytemuck that may be used instead. There are not a lot of safety comments but not a lot of invariants used either.
0.8.20 (older version) Thoroughness: High Understanding: High
by kornelski on 2020-07-08
Fixed soundness of ComponentBytes
0.8.18 (older version) Thoroughness: Low Understanding: Medium
by HeroicKatora on 2020-06-14
A longstanding soundness issue of interpreting a user input type T
as
bytes... This goes back to 0.2
at least where we have the following trait:
pub trait ComponentBytes<T> {
fn as_slice(&self) -> &[T];
fn as_mut_slice(&mut self) -> &mut [T];
// Provides: does this obvious transmutation cast of `as_slice` result.
fn as_bytes(&self) -> &[u8] { ... }
}
This is so unsound, the user can even return an wrong slice of an arbitrary and just let this trait do the dirty work of inspecting its bytes.
In a more recent version we're allowed to even write into that byte slice! Let us create null references, invalid enums, whatever your heart desires.
Issue: High (github.com/kornelski/rust-rgb/issues/35)
0.8.17 (older version) Thoroughness: High Understanding: High
Approved without comment by kornelski on 2020-04-23
Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories. There is absolutely no guarantee that the repository URL declared by the crate belongs to the crate, or that the code in the repository is the code inside the published tarball.
To review the actual code of the crate, it's best to use cargo crev open rgb
. Alternatively, you can download the tarball of rgb v0.8.90-alpha.2 or view the source online.
Packaged for Guix (crates-graphics)