diff --git a/src/Common/SecurityToken.cpp b/src/Common/SecurityToken.cpp index d7dacf57..a3fc18d6 100644 --- a/src/Common/SecurityToken.cpp +++ b/src/Common/SecurityToken.cpp @@ -520,11 +520,13 @@ namespace VeraCrypt CloseLibrary(); #ifdef TC_WINDOWS - Pkcs11LibraryHandle = LoadLibraryW (pkcs11LibraryPath.c_str()); -#else - Pkcs11LibraryHandle = dlopen (pkcs11LibraryPath.c_str(), RTLD_NOW | RTLD_LOCAL); -#endif + Pkcs11LibraryHandle = LoadLibraryW (pkcs11LibraryPath.c_str()); throw_sys_if (!Pkcs11LibraryHandle); +#else + Pkcs11LibraryHandle = dlopen (pkcs11LibraryPath.c_str(), RTLD_NOW | RTLD_LOCAL); + throw_sys_sub_if (!Pkcs11LibraryHandle, dlerror()); +#endif + typedef CK_RV (*C_GetFunctionList_t) (CK_FUNCTION_LIST_PTR_PTR ppFunctionList); #ifdef TC_WINDOWS