0.8.0 (older version) Thoroughness: Medium Understanding: Medium
by MaulingMonkey on 2019-09-02
This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
The current version of Tiled is 0.12.0.
0.8.0 (older version) Thoroughness: Medium Understanding: Medium
by MaulingMonkey on 2019-09-02
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 tiled
. Alternatively, you can download the tarball of tiled v0.12.0 or view the source online.
Do not use on User Generated Content! * Vulnerable to path traversal attacks if fed bogus .tmx files (see Tileset::new_reference) * No obvious protection against zipbombs * A couple cases where bad input will panic, a potential DoS vector.
For game engines, there's also no great way to inject your own virtual filesystem callbacks (again see Tileset::new_reference)
There's also a few missing features: * Wang Tiles * Terrains * "file" Custom Properties
Detail
src/lib.rs