rup->lastemailchange=time(NULL);
rup->domain=findorcreatemaildomain(rup->email->content);
addregusertomaildomain(rup, rup->domain);
- if(local=strchr(strdup(rup->email->content), '@')) {
+ char *dupemail = strdup(rup->email->content);
+ if(local=strchr(strdup(dupemail), '@')) {
*(local++)='\0';
rup->localpart=getsstring(local,EMAILLEN);
} else {
rup->localpart=NULL;
}
+ free(dupemail);
+
chanservstdmessage(sender, QM_EMAILCHANGED, cargv[1]);
cs_log(sender,"EMAIL OK username %s",rup->username);
csdb_updateuser(rup);
reguser *ruh;
int found=0;
- local=strchr(strdup(cargv[0]), '@');
+ char *dupemail = strdup(cargv[0]);
+ local=strchr(strdup(dupemail), '@');
*(local++)='\0';
for (ruh=mdp->users; ruh; ruh=ruh->nextbydomain) {
if (ruh->localpart)
found++;
}
}
+ free(dupemail);
if((found > mdp->actlimit) && (mdp->actlimit > 0)) {
chanservstdmessage(sender, QM_DOMAINLIMIT);
rup->lastemailchange=time(NULL);
rup->domain=findorcreatemaildomain(rup->email->content);
addregusertomaildomain(rup, rup->domain);
- if(local=strchr(strdup(rup->email->content), '@')) {
+ char *dupemail = strdup(rup->email->content);
+ if(local=strchr(strdup(dupemail), '@')) {
*(local++)='\0';
rup->localpart=getsstring(local,EMAILLEN);
} else {
rup->localpart=NULL;
}
+ free(dupemail);
chanservstdmessage(sender, QM_EMAILCHANGED, cargv[1]);
cs_log(sender,"SETEMAIL OK username %s <%s>",rup->username,rup->email->content);
if (rup->email) {
rup->domain=findorcreatemaildomain(rup->email->content);
addregusertomaildomain(rup, rup->domain);
- if(local=strchr(strdup(rup->email->content), '@')) {
+
+ char *dupemail = strdup(rup->email->content);
+ if(local=strchr(dupemail, '@')) {
*(local++)='\0';
rup->localpart=getsstring(local,EMAILLEN);
} else {
rup->localpart=NULL;
}
+ free(dupemail);
} else {
rup->domain=NULL;
rup->localpart=NULL;