From 55345bd6b55944a9ad935a3c3cd46805adbd1769 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Sun, 16 Jan 2022 14:17:46 -0500 Subject: Avoid sending null byte in SASL PLAIN Woops! BASE64_SIZE is the size of the string buffer. Somehow ergo is the only server software (that I know of) to reject the accidental null byte. Reported by smlavine. --- handle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/handle.c b/handle.c index 94c4cbb..1a004c4 100644 --- a/handle.c +++ b/handle.c @@ -219,7 +219,7 @@ static void handleAuthenticate(struct Message *msg) { char b64[BASE64_SIZE(sizeof(buf))]; base64(b64, buf, len); ircFormat("AUTHENTICATE "); - ircSend(b64, BASE64_SIZE(len)); + ircSend(b64, BASE64_SIZE(len) - 1); ircFormat("\r\n"); explicit_bzero(b64, sizeof(b64)); -- cgit 1.4.1