@@ -807,6 +807,7 @@ mysqlnd_sha256_public_encrypt(MYSQLND_CONN_DATA * conn, mysqlnd_rsa_t server_pub
807
807
*/
808
808
if ((size_t ) server_public_key_len <= passwd_len + 41 ) {
809
809
/* password message is to long */
810
+ BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
810
811
SET_CLIENT_ERROR (conn -> error_info , CR_UNKNOWN_ERROR , UNKNOWN_SQLSTATE , "password is too long" );
811
812
DBG_ERR ("password is too long" );
812
813
DBG_RETURN (0 );
@@ -816,6 +817,7 @@ mysqlnd_sha256_public_encrypt(MYSQLND_CONN_DATA * conn, mysqlnd_rsa_t server_pub
816
817
ret = malloc (* auth_data_len );
817
818
if (BCryptEncrypt ((BCRYPT_KEY_HANDLE ) server_public_key , xor_str , passwd_len + 1 , & padding_info ,
818
819
NULL , 0 , ret , server_public_key_len , & server_public_key_len , BCRYPT_PAD_OAEP )) {
820
+ BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
819
821
DBG_RETURN (0 );
820
822
}
821
823
BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
@@ -1055,6 +1057,7 @@ mysqlnd_caching_sha2_public_encrypt(MYSQLND_CONN_DATA * conn, mysqlnd_rsa_t serv
1055
1057
*/
1056
1058
if ((size_t ) server_public_key_len <= passwd_len + 41 ) {
1057
1059
/* password message is to long */
1060
+ BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
1058
1061
SET_CLIENT_ERROR (conn -> error_info , CR_UNKNOWN_ERROR , UNKNOWN_SQLSTATE , "password is too long" );
1059
1062
DBG_ERR ("password is too long" );
1060
1063
DBG_RETURN (0 );
@@ -1063,8 +1066,10 @@ mysqlnd_caching_sha2_public_encrypt(MYSQLND_CONN_DATA * conn, mysqlnd_rsa_t serv
1063
1066
* crypted = emalloc (server_public_key_len );
1064
1067
if (BCryptEncrypt ((BCRYPT_KEY_HANDLE ) server_public_key , xor_str , passwd_len + 1 , & padding_info ,
1065
1068
NULL , 0 , * crypted , server_public_key_len , & server_public_key_len , BCRYPT_PAD_OAEP )) {
1069
+ BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
1066
1070
DBG_RETURN (0 );
1067
1071
}
1072
+ BCryptDestroyKey ((BCRYPT_KEY_HANDLE ) server_public_key );
1068
1073
DBG_RETURN (server_public_key_len );
1069
1074
}
1070
1075
/* }}} */
0 commit comments