repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 1680ea02da10dff49748214f6e01538808c7ee65:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 1680ea02da10dff49748214f6e01538808c7ee65
Author: Alexander Barton 
Date:   Sun Aug 26 19:05:08 2012 +0200

    Free already saved password when storing a new one

    This shouldn't happen (clients aren't allowed to send more than one PASS
    command), but who knows ...

diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 46a3ecc2caefe0c1dc5fe41754357aadc08db128..
index ..e7bf1db891cba610e4737a4e5f8347e5ff732a36 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -932,6 +932,10 @@ GLOBAL void
 Conn_SetPassword( CONN_ID Idx, const char *Pwd )
 {
 	assert( Idx > NONE );
+
+	if (My_Connections[Idx].pwd)
+		free(My_Connections[Idx].pwd);
+
 	My_Connections[Idx].pwd = strdup(Pwd);
 	if (My_Connections[Idx].pwd == NULL) {
 		Log(LOG_EMERG, "Can't allocate memory! [Conn_SetPassword]");

-----END OF PAGE-----