aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-03-17 11:32:02 -0700
committerGitHub <[email protected]>2017-03-17 11:32:02 -0700
commit3aec0a38bf7ef96c834e0a419f468c582782ce3e (patch)
treee60add4a1f8ac16686cb4398804f543c7e3a71ba
parentRelease v0.9.9 (diff)
parentPanic if lock managed by `locking_function` is doubly unlocked (diff)
downloadrust-openssl-3aec0a38bf7ef96c834e0a419f468c582782ce3e.tar.xz
rust-openssl-3aec0a38bf7ef96c834e0a419f468c582782ce3e.zip
Merge pull request #601 from pgerber/double_unlock
Panic if lock managed by `locking_function` is doubly unlocked
-rw-r--r--openssl-sys/src/libressl.rs2
-rw-r--r--openssl-sys/src/ossl10x.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/openssl-sys/src/libressl.rs b/openssl-sys/src/libressl.rs
index 40490cd0..dc3bfe11 100644
--- a/openssl-sys/src/libressl.rs
+++ b/openssl-sys/src/libressl.rs
@@ -576,7 +576,7 @@ unsafe extern fn locking_function(mode: c_int, n: c_int, _file: *const c_char,
if mode & ::CRYPTO_LOCK != 0 {
(*GUARDS)[n as usize] = Some(mutex.lock().unwrap());
} else {
- &(*GUARDS)[n as usize].take();
+ &(*GUARDS)[n as usize].take().expect("lock already unlocked");
}
}
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index 0ffe3850..fade0f99 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -719,7 +719,7 @@ unsafe extern fn locking_function(mode: c_int, n: c_int, _file: *const c_char,
if mode & ::CRYPTO_LOCK != 0 {
(*GUARDS)[n as usize] = Some(mutex.lock().unwrap());
} else {
- &(*GUARDS)[n as usize].take();
+ &(*GUARDS)[n as usize].take().expect("lock already unlocked");
}
}