why are so many clients so stupid?
also don't leak the saslbuf
goto unknown;
}
} else if(strcmp(command, "AUTHENTICATE") == 0) {
- if (is_registered(client))
- return err_alreadyregistered(client), sendbuf(client), 0;
if (!args[0])
return err_needmoreparams(client, command), sendbuf(client), 0;
if (client->username && client->username[0] != '~')
memset(cl->pass_reg, 0, strlen(cl->pass_reg));
free(cl->pass_reg);
free(cl->peername);
+ if (cl->saslbuf)
+ memset(cl->saslbuf, 0, 1024);
+ free(cl->saslbuf);
free(cl);
}