1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-10 11:43:13 +02:00

irc: fix memory leak in SASL/blowfish authentication

This commit is contained in:
Sebastien Helleu
2012-02-19 19:24:57 +01:00
parent 8a0f53019a
commit c6850e14a7
2 changed files with 19 additions and 0 deletions
+1
View File
@@ -61,6 +61,7 @@ Version 0.3.7 (under dev!)
nicklist_get_next_item
* alias: add default alias umode => /mode $nick
* aspell: fix URL detection (do not check spelling of URLs) (bug #34040)
* irc: fix memory leak in SASL/blowfish authentication
* irc: fix memory leak when a server is deleted
* irc: add option "cap" in servers to enable capabilities on connection
* irc: add signal "irc_server_opened"
+18
View File
@@ -109,6 +109,12 @@ irc_sasl_mechanism_dh_blowfish (const char *data_base64,
password_crypted = NULL;
answer = NULL;
answer_base64 = NULL;
data_prime_number = NULL;
data_generator_number = NULL;
data_server_pub_key = NULL;
pub_key = NULL;
priv_key = NULL;
secret_mpi = NULL;
/* decode data */
data = malloc (strlen (data_base64) + 1);
@@ -225,6 +231,18 @@ end:
free (password_crypted);
if (answer)
free (answer);
if (data_prime_number)
gcry_mpi_release (data_prime_number);
if (data_generator_number)
gcry_mpi_release (data_generator_number);
if (data_server_pub_key)
gcry_mpi_release (data_server_pub_key);
if (pub_key)
gcry_mpi_release (pub_key);
if (priv_key)
gcry_mpi_release (priv_key);
if (secret_mpi)
gcry_mpi_release (secret_mpi);
return answer_base64;
#else