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