-
Notifications
You must be signed in to change notification settings - Fork 86
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
panick when running 'cargo deny check advisories' on project ripasso #122
Comments
Thanks for the repro! Hopefully will have time to look at this tomorrow. |
Ok, so I dug a little bit into this, it turns out it's due to how you structured your workspace! You have a Cargo.toml in your root for ripasso itself, and then additional workspace members are added in the same root toml. So when we get the metadata with that given root crate, cargo says that ripasso is the root of the resolution tree, which krates considers to mean that you've specified a particular crate in a workspace to gather metadata from, in which case it will only add other workspace members that are actually used by that root, which is the exact opposite in your case, as it seems each of the other workspace members depend on the root ripasso, not the other way around. The rustsec crate works purely on the lockfile, so it says there is an advisory for ncurses, but at that point we have filtered ncurses out of the graph due the aforementioned behavior, resulting in this unreachable case (which will need to be an error instead at least). I'm actually not sure the what the cleanest way to fix this would be, as I absolutely do want to preserve the behavior of specifying a particular member of a workspace and using that as the singular root of the graph versus the default of using all of the workspace members as root, I just had never checked this against a workspace that was organized this way and missed it. |
In the meantime, you can just specify the subdirectory of each of the other workspace members if you wish to check them. |
Thanks for the digging and workaround, specifying the members is not a problem, and it showed me a real security problem in one of my dependencies, so it was really useful. |
Describe the bug
cargo-deny panicked when trying to check advisories.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Get a list of security problems
Instead got this output:
Device:
The text was updated successfully, but these errors were encountered: