]> jfr.im git - irc/blitzed-org/charybdis.git/commitdiff
Fix memory leaks in PASS command, both in normal and repeated use.
authorElly <redacted>
Tue, 1 Jun 2010 17:11:47 +0000 (13:11 -0400)
committerElly <redacted>
Tue, 1 Jun 2010 17:11:47 +0000 (13:11 -0400)
modules/m_pass.c

index c331e25f4fca5dfe75aeb2ec970ffb4e38a718c5..0c7636fedb9f534fd6eabee987bc6ab87cd0ee75 100644 (file)
@@ -67,10 +67,17 @@ mr_pass(struct Client *client_p, struct Client *source_p, int parc, const char *
                memset(client_p->localClient->passwd, 0,
                        strlen(client_p->localClient->passwd));
                rb_free(client_p->localClient->passwd);
+               client_p->localClient->passwd = NULL;
+       }
+
+       if (client_p->localClient->auth_user)
+       {
+               memset(client_p->localClient->auth_user, 0,
+                      strlen(client_p->localClient->auth_user));
+               rb_free(client_p->localClient->auth_user);
+               client_p->localClient->auth_user = NULL;
        }
 
-       client_p->localClient->passwd = rb_strndup(parv[1], PASSWDLEN);
-       
        if ((pass = strchr(buf, ':')) != NULL)
        {
                *pass++ = '\0';