From fdc41848a9dc82b1057f238062beeac32e5f468b Mon Sep 17 00:00:00 2001 From: AJ Martinez Date: Sun, 14 May 2023 22:20:33 -0700 Subject: [PATCH] Oops, servernode isn't a player index --- src/d_clisrv.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 6b71ea60f..415934cc7 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -4981,8 +4981,18 @@ static void PT_Say(int node) say_pak say = netbuffer->u.say; - if (playernode[say.source] != node && say.source != servernode) - return; // Spoofed source! + // Check for a spoofed source. + if (say.source == serverplayer) + { + // Servers aren't guaranteed to have a playernode, dedis exist. + if (node != servernode) + return; + } + else + { + if (playernode[say.source] != node) + return; + } if ((cv_mute.value || say.flags & (HU_CSAY|HU_SHOUT)) && say.source != serverplayer && !(IsPlayerAdmin(say.source))) {