This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev.

The current version of keyvalues-parser is 0.2.0.

0.1.0 (older version) Rating: Positive Thoroughness: High Understanding: High

by LovecraftianHorror on 2022-06-11

Disclaimer, I'm the author

This crate handles parsing Valve's Data Format (VDF or KeyValues) into an untyped structure. The parsing is backed by Pest without any real surprises (the complicated parts being mapping the returned parsed object to a rust structure. A bit annoying that this has to be done manually)

Verification-wise there are several places that could panic, but there is a fuzzing suite to try and exercise code-paths that should be unreachable.

The only reason that I'm opting for positive over strong is because I know that there are several VDF files that fail parsing (which should improve on the next release), and I'm not confident that there aren't more files that would also have issues since VDF doesn't really have a specification that is followed :(


Lib.rs has been able to verify that all files in the crate's tarball, except Cargo.lock, are in the crate's repository with a git tag matching the version. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.

Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.

To review the actual code of the crate, it's best to use cargo crev open keyvalues-parser. Alternatively, you can download the tarball of keyvalues-parser v0.2.0 or view the source online.