The compiler may optimize out the assignment before free and then
second free on the bcrypt handle finds magic values in the freed memory.
--
v2: bcrypt: Use SecureZeroMemory() to zero magic values before free.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1821
--
v3: bcrypt/tests: Test BCRYPT_PAD_NONE encryption result in test_rsa_encrypt().
bcrypt: Use privkey if pubkey is absent in key_asymmetric_encrypt().
bcrypt: Return correct error from key_asymmetric_encrypt() if key is missing.
https://gitlab.winehq.org/wine/wine/-/merge_requests/1820