aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2023-04-20 12:10:17 -0300
committerGitHub <noreply@github.com>2023-04-20 17:10:17 +0200
commitadd2a9d15120185166adc6d2431ffee7d8a8b26b (patch)
treeabc23e5974dd34fafc5a2cba6e55f7d2f9e513be /Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs
parent9e50dd99d7dd105ec5fb39f924e7662f974f3652 (diff)
Avoid LM service crashes by not reading more than the buffer size (#4701)1.1.724
Diffstat (limited to 'Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs')
-rw-r--r--Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs12
1 files changed, 6 insertions, 6 deletions
diff --git a/Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs b/Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs
index 8b3acb10..e930bdd7 100644
--- a/Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs
+++ b/Ryujinx.Horizon/LogManager/Ipc/LmLogger.cs
@@ -113,7 +113,7 @@ namespace Ryujinx.Horizon.LogManager.Ipc
}
else if (key == LogDataChunkKey.Message)
{
- string text = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ string text = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
if (isHeadPacket && isTailPacket)
{
@@ -131,23 +131,23 @@ namespace Ryujinx.Horizon.LogManager.Ipc
}
else if (key == LogDataChunkKey.Filename)
{
- _logPacket.Filename = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ _logPacket.Filename = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
}
else if (key == LogDataChunkKey.Function)
{
- _logPacket.Function = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ _logPacket.Function = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
}
else if (key == LogDataChunkKey.Module)
{
- _logPacket.Module = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ _logPacket.Module = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
}
else if (key == LogDataChunkKey.Thread)
{
- _logPacket.Thread = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ _logPacket.Thread = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
}
else if (key == LogDataChunkKey.ProgramName)
{
- _logPacket.ProgramName = Encoding.UTF8.GetString(reader.GetSpan(size)).TrimEnd();
+ _logPacket.ProgramName = Encoding.UTF8.GetString(reader.GetSpanSafe(size)).TrimEnd();
}
}