summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/cs_akick.c5
-rw-r--r--src/core/enc_none.c20
-rw-r--r--src/core/ns_group.c4
-rw-r--r--src/core/ns_register.c4
-rw-r--r--src/core/os_chankill.c4
-rw-r--r--src/core/os_stats.c24
6 files changed, 25 insertions, 36 deletions
diff --git a/src/core/cs_akick.c b/src/core/cs_akick.c
index a9e38fbd2..ede481bcb 100644
--- a/src/core/cs_akick.c
+++ b/src/core/cs_akick.c
@@ -213,10 +213,9 @@ class CommandCSAKick : public Command
if (!na) {
split_usermask(mask, &nick, &user, &host);
- char *smask = new char[strlen(nick) + strlen(user) + strlen(host) + 3];
+ std::string smask = std::string(nick) + "!" + user + "@" + host;
freemask = 1;
- sprintf(smask, "%s!%s@%s", nick, user, host);
- mask = smask;
+ mask = sstrdup(smask.c_str());
delete [] nick;
delete [] user;
delete [] host;
diff --git a/src/core/enc_none.c b/src/core/enc_none.c
index 7f38d8532..91784bca4 100644
--- a/src/core/enc_none.c
+++ b/src/core/enc_none.c
@@ -25,26 +25,25 @@ class ENone : public Module
ModuleManager::Attach(I_OnCheckPassword, this);
}
- EventReturn OnEncrypt(const char *src,int len,char *dest,int size)
+ EventReturn OnEncrypt(const char *src,int len,char *dest,int size)
{
- if(size>=len)
+ if(size>=len)
{
memset(dest,0,size);
- strncpy(dest,src,len);
- dest[len] = '\0';
- return EVENT_ALLOW;
+ strlcpy(dest,src,len);
+ return EVENT_ALLOW;
}
return EVENT_STOP;
}
- EventReturn OnEncryptInPlace(char *buf, int size)
+ EventReturn OnEncryptInPlace(char *buf, int size)
{
return EVENT_ALLOW;
}
- EventReturn OnEncryptCheckLen(int passlen, int bufsize)
+ EventReturn OnEncryptCheckLen(int passlen, int bufsize)
{
- if(bufsize>=passlen)
+ if(bufsize>=passlen)
{
return EVENT_ALLOW;
}
@@ -53,13 +52,12 @@ class ENone : public Module
EventReturn OnDecrypt(const char *src, char *dest, int size) {
memset(dest,0,size);
- strncpy(dest,src,size);
- dest[size] = '\0';
+ strlcpy(dest,src,size);
return EVENT_ALLOW;
}
EventReturn OnCheckPassword(const char *plaintext, const char *password) {
- if(strcmp(plaintext,password)==0)
+ if(strcmp(plaintext,password)==0)
{
return EVENT_ALLOW;
}
diff --git a/src/core/ns_group.c b/src/core/ns_group.c
index af181e092..ec00ec69d 100644
--- a/src/core/ns_group.c
+++ b/src/core/ns_group.c
@@ -117,8 +117,8 @@ class CommandNSGroup : public Command
if (na)
{
- na->last_usermask = new char[u->GetIdent().length() + u->GetDisplayedHost().length() + 2];
- sprintf(na->last_usermask, "%s@%s", u->GetIdent().c_str(), u->GetDisplayedHost().c_str());
+ std::string last_usermask = u->GetIdent() + "@" + u->GetDisplayedHost();
+ na->last_usermask = sstrdup(last_usermask.c_str());
na->last_realname = sstrdup(u->realname);
na->time_registered = na->last_seen = time(NULL);
diff --git a/src/core/ns_register.c b/src/core/ns_register.c
index c3f068326..6fd8e2455 100644
--- a/src/core/ns_register.c
+++ b/src/core/ns_register.c
@@ -49,8 +49,8 @@ class CommandNSConfirm : public Command
}
else
{
- na->last_usermask = new char[u->GetIdent().length() + u->GetDisplayedHost().length() + 2];
- sprintf(na->last_usermask, "%s@%s", u->GetIdent().c_str(), u->GetDisplayedHost().c_str());
+ std::string last_usermask = u->GetIdent() + "@" + u->GetDisplayedHost();
+ na->last_usermask = sstrdup(last_usermask.c_str());
na->last_realname = sstrdup(u->realname);
if (NSAddAccessOnReg)
na->nc->AddAccess(create_mask(u));
diff --git a/src/core/os_chankill.c b/src/core/os_chankill.c
index 42d9d061b..6eb9e9456 100644
--- a/src/core/os_chankill.c
+++ b/src/core/os_chankill.c
@@ -74,8 +74,8 @@ class CommandOSChanKill : public Command
cunext = cu->next;
if (is_oper(cu->user))
continue;
- strncpy(mask, "*@", 3); /* Use *@" for the akill's, */
- strncat(mask, cu->user->host, HOSTMAX);
+ strlcpy(mask, "*@", sizeof(mask)); /* Use *@" for the akill's, */
+ strlcat(mask, cu->user->host, sizeof(mask));
add_akill(NULL, mask, s_OperServ, expires, realreason);
check_akill(cu->user->nick, cu->user->GetIdent().c_str(), cu->user->host, NULL, NULL);
}
diff --git a/src/core/os_stats.c b/src/core/os_stats.c
index cd3d41a34..937590e57 100644
--- a/src/core/os_stats.c
+++ b/src/core/os_stats.c
@@ -202,34 +202,26 @@ class CommandOSStats : public Command
CommandReturn DoStatsUplink(User *u)
{
- char buf[512];
- int buflen, i;
- buf[0] = '\0';
- buflen = 511; /* How confusing, this is the amount of space left! */
+ char buf[512] = "";
+ int i;
for (i = 0; capab_info[i].token; ++i)
{
if (uplink_capab & capab_info[i].flag)
{
- strncat(buf, " ", buflen);
- --buflen;
- strncat(buf, capab_info[i].token, buflen);
- buflen -= strlen(capab_info[i].token);
+ strlcat(buf, " ", sizeof(buf));
+ strlcat(buf, capab_info[i].token, sizeof(buf));
/* Special cases */
if (capab_info[i].flag == CAPAB_CHANMODE)
{
- strncat(buf, "=", buflen);
- --buflen;
- strncat(buf, ircd->chanmodes, buflen);
- buflen -= strlen(ircd->chanmodes);
+ strlcat(buf, "=", sizeof(buf));
+ strlcat(buf, ircd->chanmodes, sizeof(buf));
}
if (capab_info[i].flag == CAPAB_NICKCHARS)
{
- strncat(buf, "=", buflen);
- --buflen;
+ strlcat(buf, "=", sizeof(buf));
if (ircd->nickchars)
{
- strncat(buf, ircd->nickchars, buflen);
- buflen -= strlen(ircd->nickchars);
+ strlcat(buf, ircd->nickchars, sizeof(buf));
} /* leave blank if it was null */
}
}