From d783b32d92201292e3db6bbaa169bdda76f1d1cd Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:11:16 +1100 Subject: [PATCH] Update NetMessage to pass in MemoryStream (#21796) --- Content.Shared/Chat/MsgChatMessage.cs | 3 ++- Content.Shared/Eui/MsgEuiMessage.cs | 5 +++-- Content.Shared/Eui/MsgEuiState.cs | 5 +++-- Content.Shared/Preferences/MsgPreferencesAndSettings.cs | 7 +++++-- Content.Shared/Preferences/MsgUpdateCharacter.cs | 3 ++- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/Content.Shared/Chat/MsgChatMessage.cs b/Content.Shared/Chat/MsgChatMessage.cs index 55a3a7342b..f7311d2dc8 100644 --- a/Content.Shared/Chat/MsgChatMessage.cs +++ b/Content.Shared/Chat/MsgChatMessage.cs @@ -57,7 +57,8 @@ namespace Content.Shared.Chat public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer) { var length = buffer.ReadVariableInt32(); - using var stream = buffer.ReadAlignedMemory(length); + using var stream = new MemoryStream(length); + buffer.ReadAlignedMemory(stream, length); serializer.DeserializeDirect(stream, out Message); } diff --git a/Content.Shared/Eui/MsgEuiMessage.cs b/Content.Shared/Eui/MsgEuiMessage.cs index c71efc2d7d..3b6fbcad2c 100644 --- a/Content.Shared/Eui/MsgEuiMessage.cs +++ b/Content.Shared/Eui/MsgEuiMessage.cs @@ -16,8 +16,9 @@ namespace Content.Shared.Eui { Id = buffer.ReadUInt32(); - var len = buffer.ReadVariableInt32(); - var stream = buffer.ReadAlignedMemory(len); + var length = buffer.ReadVariableInt32(); + using var stream = new MemoryStream(length); + buffer.ReadAlignedMemory(stream, length); Message = ser.Deserialize(stream); } diff --git a/Content.Shared/Eui/MsgEuiState.cs b/Content.Shared/Eui/MsgEuiState.cs index d1867a3cdf..3ac80ad3ea 100644 --- a/Content.Shared/Eui/MsgEuiState.cs +++ b/Content.Shared/Eui/MsgEuiState.cs @@ -16,8 +16,9 @@ namespace Content.Shared.Eui { Id = buffer.ReadUInt32(); - var len = buffer.ReadVariableInt32(); - var stream = buffer.ReadAlignedMemory(len); + var length = buffer.ReadVariableInt32(); + using var stream = new MemoryStream(length); + buffer.ReadAlignedMemory(stream, length); State = ser.Deserialize(stream); } diff --git a/Content.Shared/Preferences/MsgPreferencesAndSettings.cs b/Content.Shared/Preferences/MsgPreferencesAndSettings.cs index d9179e634a..c969c15f42 100644 --- a/Content.Shared/Preferences/MsgPreferencesAndSettings.cs +++ b/Content.Shared/Preferences/MsgPreferencesAndSettings.cs @@ -18,14 +18,17 @@ namespace Content.Shared.Preferences public override void ReadFromBuffer(NetIncomingMessage buffer, IRobustSerializer serializer) { var length = buffer.ReadVariableInt32(); - using (var stream = buffer.ReadAlignedMemory(length)) + + using (var stream = new MemoryStream()) { + buffer.ReadAlignedMemory(stream, length); serializer.DeserializeDirect(stream, out Preferences); } length = buffer.ReadVariableInt32(); - using (var stream = buffer.ReadAlignedMemory(length)) + using (var stream = new MemoryStream()) { + buffer.ReadAlignedMemory(stream, length); serializer.DeserializeDirect(stream, out Settings); } } diff --git a/Content.Shared/Preferences/MsgUpdateCharacter.cs b/Content.Shared/Preferences/MsgUpdateCharacter.cs index 1cc662908d..3c4af1833e 100644 --- a/Content.Shared/Preferences/MsgUpdateCharacter.cs +++ b/Content.Shared/Preferences/MsgUpdateCharacter.cs @@ -19,7 +19,8 @@ namespace Content.Shared.Preferences { Slot = buffer.ReadInt32(); var length = buffer.ReadVariableInt32(); - using var stream = buffer.ReadAlignedMemory(length); + using var stream = new MemoryStream(length); + buffer.ReadAlignedMemory(stream, length); Profile = serializer.Deserialize(stream); } -- 2.51.2