From: AeonLucid Date: Thu, 12 Nov 2020 03:34:07 +0000 (+0100) Subject: Fix leaking MessageWriters X-Git-Tag: v1.2.2~22 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=62aa0ff832e033d5c76bd054f88c8a65675faa35;p=rhonda%2Fimpostor.git Fix leaking MessageWriters --- diff --git a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs index 6223626..6cdd6b9 100644 --- a/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs +++ b/src/Impostor.Server/Net/Inner/Objects/Components/InnerCustomNetworkTransform.Api.cs @@ -14,10 +14,12 @@ namespace Impostor.Server.Net.Inner.Objects.Components SnapTo(position, minSid); // Broadcast to all clients. - var writer = _game.StartRpc(NetId, RpcCalls.SnapTo); - WriteVector2(writer, position); - writer.Write(_lastSequenceId); - await _game.FinishRpcAsync(writer); + using (var writer = _game.StartRpc(NetId, RpcCalls.SnapTo)) + { + WriteVector2(writer, position); + writer.Write(_lastSequenceId); + await _game.FinishRpcAsync(writer); + } } } } diff --git a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs index 95fad02..49076bf 100644 --- a/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs +++ b/src/Impostor.Server/Net/Inner/Objects/InnerPlayerControl.Api.cs @@ -99,7 +99,7 @@ namespace Impostor.Server.Net.Inner.Objects public async ValueTask SetMurderedAsync() { - var writer = _game.StartRpc(NetId, RpcCalls.MurderPlayer); + using var writer = _game.StartRpc(NetId, RpcCalls.MurderPlayer); writer.Write((byte)NetId); await _game.FinishRpcAsync(writer); } diff --git a/src/Impostor.Server/Net/State/Game.cs b/src/Impostor.Server/Net/State/Game.cs index ed2049d..1919867 100644 --- a/src/Impostor.Server/Net/State/Game.cs +++ b/src/Impostor.Server/Net/State/Game.cs @@ -16,7 +16,7 @@ using Microsoft.Extensions.Logging; namespace Impostor.Server.Net.State { - internal partial class Game : IGame + internal partial class Game { private readonly ILogger _logger; private readonly IServiceProvider _serviceProvider; @@ -123,4 +123,4 @@ namespace Impostor.Server.Net.State .Select(p => p.Client.Connection); } } -} \ No newline at end of file +}