diff options
Diffstat (limited to 'client.c')
-rw-r--r-- | client.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/client.c b/client.c index 35faa4b..79f55ae 100644 --- a/client.c +++ b/client.c @@ -23,6 +23,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <strings.h> #include <sysexits.h> #include <tls.h> #include <unistd.h> @@ -127,7 +128,7 @@ static void handleUser(struct Client *client, struct Message *msg) { static void handlePass(struct Client *client, struct Message *msg) { if (!clientPass) return; if (!msg->params[0]) { - passRequired(client); + client->error = true; return; } if (!strcmp(crypt(msg->params[0], clientPass), clientPass)) { @@ -136,6 +137,7 @@ static void handlePass(struct Client *client, struct Message *msg) { } else { passRequired(client); } + explicit_bzero(msg->params[0], strlen(msg->params[0])); } static void handleCap(struct Client *client, struct Message *msg) { |