From: Sam Smith Date: Sun, 24 Apr 2022 21:57:41 +0000 (-0700) Subject: Fixed ping to not segfault when matterbridge X-Git-Url: https://git.patchysicp.xyz/?a=commitdiff_plain;h=53930b1ae06b09fddef1e9b8fd62485d86c9395e;p=patchyircd.git Fixed ping to not segfault when matterbridge --- diff --git a/irc.c b/irc.c index cb9db64..b245d4d 100644 --- a/irc.c +++ b/irc.c @@ -5,14 +5,9 @@ void processPacket(struct client_data *client) { size_t packetLen = client->bufLen; if(strncmp(packet, "PING", 4) == 0) { char data[1024]; - packet[1] = 'O'; - // Mem unsafe time - strcpy(packet+5+strlen("irc.patchysicp.xyz "), packet+4); - strcpy(packet+5, "irc.patchysicp.xyz "); - packet[5+strlen("irc.patchysicp.xyz ")] = ':'; - strcpy(data, ":irc.patchysicp.xyz "); - strcpy(data+strlen(":irc.patchysicp.xyz "), packet); - data[strlen(":irc.patchysicp.xyz")] = ' '; + strcpy(data, ":irc.patchysicp.xyz PONG irc.patchysicp.xyz "); + strcpy(data+strlen(":irc.patchysicp.xyz PONG irc.patchysicp.xyz :"), packet+5); + data[strlen(":irc.patchysicp.xyz PONG irc.patchysicp.xyz ")] = ':'; send_log(client->FD, data, strlen(data), 0); } else if(strncmp(packet, "NICK ", 5) == 0) { // User now registered