Commit Diff


commit - 7df4c12da96b2bbc23556c0c334e1d06dd9e4887
commit + c1d7f6216fc26772160f50269d87a74171f8c0a2
blob - 03c423e35e0d5616e7204e4488ebfe1cf6953bdd
blob + 20d0cd4ffc6afd51ab5712c8c182e6363495b5b0
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
@@ -922,19 +922,21 @@ GLOBAL const char*
 Conn_Password( CONN_ID Idx )
 {
   assert( Idx > NONE );
-  return My_Connections[Idx].pwd;
+  if (My_Connections[Idx].pwd == NULL)
+    return (char*)"\0";
+  else
+    return My_Connections[Idx].pwd;
 } /* Conn_Password */
 
 GLOBAL void
 Conn_SetPassword( CONN_ID Idx, const char *Pwd )
 {
   assert( Idx > NONE );
-  My_Connections[Idx].pwd = calloc(strlen(Pwd) + 1, sizeof(char));
+  My_Connections[Idx].pwd = strdup(Pwd);
   if (My_Connections[Idx].pwd == NULL) {
     Log(LOG_EMERG, "Can't allocate memory! [Conn_SetPassword]");
     exit(1);
   }
-  strcpy( My_Connections[Idx].pwd, Pwd );
 } /* Conn_SetPassword */
 
 /**