diff --git a/src/libsodium/sodium/core.c b/src/libsodium/sodium/core.c index 03d82f10..a9fbf40f 100644 --- a/src/libsodium/sodium/core.c +++ b/src/libsodium/sodium/core.c @@ -196,7 +196,7 @@ sodium_misuse(void) (void) sodium_crit_leave(); if (sodium_crit_enter() == 0) { handler = _misuse_handler; - if (handler != NULL) { + if (sodium_crit_leave() == 0 && handler != NULL) { handler(); } }