summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoradam- <adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-01 08:16:27 +0000
committeradam- <adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-01 08:16:27 +0000
commitb8b891cc25f5a5af6543ed317d76f3d88cf31f3b (patch)
tree97a9384b1d1d804ef4f9400a5293a7dff10fa43b /src
parentbec179c1977644e12fbe8610e876d0ed3be87057 (diff)
Fixed some memory leaks when setting vhosts on users
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2399 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/core/hs_on.c4
-rw-r--r--src/hostserv.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/src/core/hs_on.c b/src/core/hs_on.c
index 5d102273c..bbae6f73e 100644
--- a/src/core/hs_on.c
+++ b/src/core/hs_on.c
@@ -39,7 +39,11 @@ class CommandHSOn : public Command
notice_lang(s_HostServ, u, HOST_ACTIVATED, vHost);
ircdproto->SendVhost(u->nick, vIdent, vHost);
if (ircd->vhost)
+ {
+ if (u->vhost)
+ delete [] u->vhost;
u->vhost = sstrdup(vHost);
+ }
if (ircd->vident)
{
if (vIdent)
diff --git a/src/hostserv.c b/src/hostserv.c
index e3b3eac6f..a385bc14f 100644
--- a/src/hostserv.c
+++ b/src/hostserv.c
@@ -501,7 +501,10 @@ int do_on_id(User * u)
notice_lang(s_HostServ, u, HOST_ACTIVATED, vHost);
}
ircdproto->SendVhost(u->nick, vIdent, vHost);
- if (ircd->vhost) {
+ if (ircd->vhost)
+ {
+ if (u->vhost)
+ delete [] u->vhost;
u->vhost = sstrdup(vHost);
}
if (ircd->vident) {