commit - 0d5de60584f094ef3b7c27806d6cd7f79e861d7b
commit + 7df4c12da96b2bbc23556c0c334e1d06dd9e4887
blob - 4900d7b803361737de363240867cfec6e001c0df
blob + 03c423e35e0d5616e7204e4488ebfe1cf6953bdd
--- src/ngircd/conn.c
+++ src/ngircd/conn.c
Conn_SetPassword( CONN_ID Idx, const char *Pwd )
{
assert( Idx > NONE );
- strlcpy( My_Connections[Idx].pwd, Pwd,
- sizeof(My_Connections[Idx].pwd) );
+ My_Connections[Idx].pwd = calloc(strlen(Pwd) + 1, sizeof(char));
+ 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 */
/**
array_free(&My_Connections[Idx].rbuf);
array_free(&My_Connections[Idx].wbuf);
+ if (My_Connections[Idx].pwd != NULL)
+ free(My_Connections[Idx].pwd);
/* Clean up connection structure (=free it) */
Init_Conn_Struct( Idx );
blob - 9ee979f2da4502ed28e00222b610c201880f6d43
blob + 341489aaffe7db4a6330754358f997c9b9bf2c72
--- src/ngircd/conn.h
+++ src/ngircd/conn.h
ng_ipaddr_t addr; /* Client address */
PROC_STAT proc_stat; /* Status of resolver process */
char host[HOST_LEN]; /* Hostname */
- char pwd[CLIENT_PASS_LEN]; /* password received of the client */
+ char *pwd; /* password received of the client */
array rbuf; /* Read buffer */
array wbuf; /* Write buffer */
time_t signon; /* Signon ("connect") time */