[tor-commits] [tor/release-0.3.5] rust: abort on panic in all profiles

teor at torproject.org teor at torproject.org
Fri Apr 19 02:01:35 UTC 2019


commit fecd583c0e7e580f07d81b24b1a3522c52938c61
Author: cypherpunks <cypherpunks at torproject.org>
Date:   Sat Aug 18 19:18:48 2018 +0000

    rust: abort on panic in all profiles
    
    Until https://github.com/rust-lang/rust/issues/52652 is fixed,
    unwinding on panic is potentially unsound in a mixed C/Rust codebase.
    
    The codebase is supposed to be panic-free already, but just to be safe.
    
    This started mattering at commit d1820c1516a31a149fc51a9e5126bf899e4c4e08.
    
    Fixes #27199; bugfix on tor-0.3.3.1-alpha.
---
 changes/bug27199    |  3 +++
 src/rust/Cargo.toml | 10 ++++++++++
 2 files changed, 13 insertions(+)

diff --git a/changes/bug27199 b/changes/bug27199
new file mode 100644
index 000000000..f9d2a422f
--- /dev/null
+++ b/changes/bug27199
@@ -0,0 +1,3 @@
+  o Minor bugfixes (rust):
+    - Abort on panic in all build profiles, instead of potentially unwinding
+      into C code. Fixes bug 27199; bugfix on 0.3.3.1-alpha.
diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
index 953c9b96b..c22eea984 100644
--- a/src/rust/Cargo.toml
+++ b/src/rust/Cargo.toml
@@ -1,7 +1,17 @@
 [workspace]
 members = ["tor_util", "protover", "smartlist", "external", "tor_allocate", "tor_rust"]
 
+# Can remove panic="abort" when this issue is fixed:
+# https://github.com/rust-lang/rust/issues/52652
+[profile.dev]
+panic = "abort"
+
 [profile.release]
 debug = true
 panic = "abort"
 
+[profile.test]
+panic = "abort"
+
+[profile.bench]
+panic = "abort"





More information about the tor-commits mailing list