From fe437b2ea18df5ecd1baa5086ccc1e866af21df5 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Wed, 26 Feb 2020 02:28:35 -0500 Subject: Tweak buffer sizes Filter functions are dealing with lines not including CRLF, so they already have extra space. serverFormat is using snprintf which wants to always write a NUL at the end of the string. --- client.c | 6 +++--- server.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/client.c b/client.c index 9b55fdd..2405004 100644 --- a/client.c +++ b/client.c @@ -426,7 +426,7 @@ static const char *filterChghost(const char *line) { static const char *filterExtendedJoin(const char *line) { if (wordcmp(line, 1, "JOIN")) return line; static regex_t regex; - static char buf[MessageCap + 1]; + static char buf[MessageCap]; return snip(buf, sizeof(buf), line, compile(®ex, "(JOIN [^ ]+).+")); } @@ -440,7 +440,7 @@ static const char *filterMessageTags(const char *line) { } static const char *filterMultiPrefix(const char *line) { - static char buf[MessageCap + 1]; + static char buf[MessageCap]; if (!wordcmp(line, 1, "352")) { static regex_t regex; return snip( @@ -461,7 +461,7 @@ static const char *filterMultiPrefix(const char *line) { static const char *filterUserhostInNames(const char *line) { if (wordcmp(line, 1, "353")) return line; static regex_t regex; - static char buf[MessageCap + 1]; + static char buf[MessageCap]; return snip( buf, sizeof(buf), line, compile(®ex, "( :?[^!]+)![^ ]+") diff --git a/server.c b/server.c index abc7d40..20d94e3 100644 --- a/server.c +++ b/server.c @@ -139,7 +139,7 @@ void serverSend(const char *ptr, size_t len) { } void serverFormat(const char *format, ...) { - char buf[MessageCap]; + char buf[MessageCap + 1]; va_list ap; va_start(ap, format); int len = vsnprintf(buf, sizeof(buf), format, ap); -- cgit 1.4.1