diff --git a/src/libsodium/sodium/core.c b/src/libsodium/sodium/core.c index ce466958..b328172b 100644 --- a/src/libsodium/sodium/core.c +++ b/src/libsodium/sodium/core.c @@ -178,9 +178,10 @@ sodium_misuse(void) { void (*handler)(void); + sodium_crit_leave(); if (sodium_crit_enter() == 0) { handler = _misuse_handler; - if (sodium_crit_leave() == 0 && handler != NULL) { + if (handler != NULL) { handler(); } }