From 2dfbd1fc1fc930494481c4a5058691ef3ea1712d Mon Sep 17 00:00:00 2001 From: Fyren Date: Sat, 5 Jun 2010 23:21:33 -0700 Subject: [PATCH] Fix sdktools voice memory corruption (bug 4415, r=dvander) --- extensions/sdktools/voice.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/extensions/sdktools/voice.cpp b/extensions/sdktools/voice.cpp index 5d521f14..7b4cbdb7 100644 --- a/extensions/sdktools/voice.cpp +++ b/extensions/sdktools/voice.cpp @@ -199,13 +199,13 @@ void SDKTools::OnClientDisconnecting(int client) g_VoiceMap[i][client] = Listen_Default; if (DecHookCount()) { - return; + break; } } } - /* Reset this client's mutes, just in case */ - memset(&g_ClientMutes[client], 0, sizeof(int) * 65); + /* Reset this client's mutes */ + memset(&g_ClientMutes[client], 0, sizeof(bool) * 65); /* Reset other clients who send to this client */ if (g_ClientOverrides[client] > 0) @@ -213,7 +213,6 @@ void SDKTools::OnClientDisconnecting(int client) DecHookCount(g_ClientOverrides[client]); g_ClientOverrides[client] = 0; memset(&g_VoiceMap[client], false, sizeof(ListenOverride) * 65); - memset(&g_ClientMutes[client], false, sizeof(bool) * 65); } if (g_VoiceFlags[client])