about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2025-03-21 10:30:18 +0100
committerRalf Jung <post@ralfj.de>2025-03-21 10:32:05 +0100
commit38e7bb0fb1c53d4ddf7b333eb242839e4d226e28 (patch)
tree4dc3e474501cac1e79ae0c343a341fb3b3f89f36
parent08e79dde02b28903796a84be90bfeefdc5321535 (diff)
downloadrust-38e7bb0fb1c53d4ddf7b333eb242839e4d226e28.tar.gz
rust-38e7bb0fb1c53d4ddf7b333eb242839e4d226e28.zip
catch_unwind: do not permit catch function to unwind
-rw-r--r--src/tools/miri/src/shims/panic.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tools/miri/src/shims/panic.rs b/src/tools/miri/src/shims/panic.rs
index fc58d88591f..18af8214876 100644
--- a/src/tools/miri/src/shims/panic.rs
+++ b/src/tools/miri/src/shims/panic.rs
@@ -144,7 +144,8 @@ pub trait EvalContextExt<'tcx>: crate::MiriInterpCxExt<'tcx> {
                 // Directly return to caller of `try`.
                 StackPopCleanup::Goto {
                     ret: catch_unwind.ret,
-                    unwind: mir::UnwindAction::Continue,
+                    // `catch_fn` must not unwind.
+                    unwind: mir::UnwindAction::Unreachable,
                 },
             )?;