From acd941bfedd82c72c7d9d0fb3b9bab9d2360be93 Mon Sep 17 00:00:00 2001 From: Simon Arlott Date: Thu, 18 Jan 2018 21:33:26 +0000 Subject: [PATCH] ircd: use correct buffer sizes This fixes an issue with truncated SJOINs. --- ircd/s_serv.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ircd/s_serv.c b/ircd/s_serv.c index 928688a9..06c073f0 100644 --- a/ircd/s_serv.c +++ b/ircd/s_serv.c @@ -57,7 +57,7 @@ int MaxConnectionCount = 1; int MaxClientCount = 1; int refresh_user_links = 0; -static char buf[EXT_BUFSIZE]; +static char buf[BUFSIZE]; /* * list of recognized server capabilities. "TS" is not on the list @@ -504,7 +504,7 @@ burst_ban(struct Client *client_p) * to other servers, so rewrite to our server * name. */ - rb_strlcpy(operbuf, aconf->info.oper, sizeof buf); + rb_strlcpy(operbuf, aconf->info.oper, sizeof operbuf); p = strrchr(operbuf, '{'); if (p != NULL && operbuf + sizeof operbuf - p > (ptrdiff_t)(melen + 2)) @@ -557,7 +557,7 @@ burst_modes_TS6(struct Client *client_p, struct Channel *chptr, tlen = strlen(banptr->banstr) + (banptr->forward ? strlen(banptr->forward) + 1 : 0) + 1; /* uh oh */ - if(cur_len + tlen > EXT_BUFSIZE - 3) + if(cur_len + tlen > BUFSIZE - 3) { /* the one we're trying to send doesnt fit at all! */ if(cur_len == mlen) @@ -599,7 +599,7 @@ burst_modes_TS6(struct Client *client_p, struct Channel *chptr, static void burst_TS6(struct Client *client_p) { - char ubuf[EXT_BUFSIZE]; + char ubuf[BUFSIZE]; struct Client *target_p; struct Channel *chptr; struct membership *msptr; @@ -696,7 +696,7 @@ burst_TS6(struct Client *client_p) if(is_voiced(msptr)) tlen++; - if(cur_len + tlen >= EXT_BUFSIZE - 3) + if(cur_len + tlen >= BUFSIZE - 3) { *(t-1) = '\0'; sendto_one(client_p, "%s", buf); @@ -762,7 +762,7 @@ burst_TS6(struct Client *client_p) const char * show_capabilities(struct Client *target_p) { - static char msgbuf[EXT_BUFSIZE]; + static char msgbuf[BUFSIZE]; *msgbuf = '\0';