summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcypherpunks <cypherpunks@torproject.org>2018-08-18 19:18:48 +0000
committercypherpunks <cypherpunks@torproject.org>2018-08-18 19:23:28 +0000
commitfecd583c0e7e580f07d81b24b1a3522c52938c61 (patch)
treeac111c62a10212e2679b28e31e807409d4de3b6b
parent87aacbfbba2e2fee67de218b721c0bdb9a0ae73a (diff)
downloadtor-fecd583c0e7e580f07d81b24b1a3522c52938c61.tar.gz
tor-fecd583c0e7e580f07d81b24b1a3522c52938c61.zip
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.
-rw-r--r--changes/bug271993
-rw-r--r--src/rust/Cargo.toml10
2 files changed, 13 insertions, 0 deletions
diff --git a/changes/bug27199 b/changes/bug27199
new file mode 100644
index 0000000000..f9d2a422f9
--- /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 953c9b96b7..c22eea984d 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"