You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Affected versions of this crate violate borrow rules, resulting in undefined behavior, when the user adds context to an error via Error::context and then later calls Error::downcast_mut on the returned Error.
The flaw was corrected in commit 6e8c000 by revising how the mutable reference is constructed, avoiding inclusion of a shared reference in the resulting borrow chain.
error: Undefined Behavior: trying to retag from <1538> for Unique permission at alloc602[0x38], but that tag only grants SharedReadOnly permission for this location
--> src/ptr.rs:170:18
|
170 | unsafe { &mut *self.ptr.as_ptr() }
| ^^^^^^^^^^^^^^^^^^^^^^^ this error occurs as part of retag at alloc602[0x38..0x48]
|
= help: this indicates a potential bug in the program: it performed an invalid operation, but the Stacked Borrows rules it violated are still experimental
= help: see https://github.com/rust-lang/unsafe-code-guidelines/blob/master/wip/stacked-borrows.md for further information
help: <1538> was created by a SharedReadOnly retag at offsets [0x38..0x48]
--> src/ptr.rs:89:18
|
89 | ptr: NonNull::from(ptr),
| ^^^^^^^^^^^^^^^^^^
= note: stack backtrace:
0: anyhow::ptr::Mut::<'_, ErrorContext>::deref_mut
at src/ptr.rs:170:18: 170:41
1: anyhow::error::<impl anyhow::Error>::downcast_mut::<ErrorContext>
at src/error.rs:560:18: 560:46
2: main
at examples/downcast_mut.rs:15:38: 15:58
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: executor/Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path executor/Cargo.toml --package anyhow@1.0.102 --precise 1.0.103
Updating crates.io index
error: failed to get `wasmparser` as a dependency of package `genvm v0.3.0 (/tmp/renovate/repos/github/genlayerlabs/genvm/executor)`
Caused by:
failed to load source for dependency `wasmparser`
Caused by:
unable to update /tmp/renovate/repos/github/genlayerlabs/genvm/executor/third-party/wasm-tools/crates/wasmparser
Caused by:
failed to read `/tmp/renovate/repos/github/genlayerlabs/genvm/executor/third-party/wasm-tools/crates/wasmparser/Cargo.toml`
Caused by:
No such file or directory (os error 2)
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You have signed the CLA already but the status is still pending? Let us recheck it.
👋 This PR targeted main, so I've retargeted it to the latest dev branch v0.3-dev.
main is protected and is only an alias of the latest release branch (v0.3-dev), kept in lockstep automatically. Active v0.3 work lands on v0.3-dev, which reaches v0.3.x through the standing release-gate PR once the cross-repo E2E matrix is green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
None yet
1 participant
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.
This PR contains the following updates:
1.0.86→1.0.1031.0.97→1.0.1031.0.102→1.0.1031.0.98→1.0.103Unsoundness in
Error::downcast_mut()RUSTSEC-2026-0190
More information
Details
Affected versions of this crate violate borrow rules, resulting in undefined behavior, when the user adds context to an error via
Error::contextand then later callsError::downcast_muton the returnedError.The flaw was corrected in commit
6e8c000by revising how the mutable reference is constructed, avoiding inclusion of a shared reference in the resulting borrow chain.Example
Miri output
Severity
Unknown
References
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
Release Notes
dtolnay/anyhow (anyhow)
v1.0.103Compare Source
Error::downcast_mut(#451, #452)v1.0.102Compare Source
v1.0.101Compare Source
v1.0.100Compare Source
bail!,ensure!,anyhow!(#426)v1.0.99Compare Source
v1.0.98Compare Source
self.into_boxed_dyn_error()andself.reallocate_into_boxed_dyn_error_without_backtrace()methods for anyhow::Error (#415)v1.0.97Compare Source
v1.0.96Compare Source
v1.0.95Compare Source
Error::from_boxed(#401, #402)v1.0.94Compare Source
v1.0.93Compare Source
thiserrorv2v1.0.92Compare Source
&raw constand&raw mutsyntax insideensure!(#390)v1.0.91Compare Source
v1.0.90Compare Source
v1.0.89Compare Source
UnwindSafeandRefUnwindSafeimpl consistently available between versions of Rust newer and older than 1.72 (#386)v1.0.88Compare Source
v1.0.87Compare Source
Error::newandError::chain, in no-std mode on Rust 1.81+ (#383)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Never, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.