mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-24 13:36:50 +01:00
Safer chat message parsing
This commit is contained in:
@@ -316,9 +316,20 @@ namespace Tgstation.Server.Host.Components.Session
|
||||
if (parameters.ChatMessage.Text == null)
|
||||
return Error("Missing message field in chatMessage!");
|
||||
|
||||
var anyFailed = false;
|
||||
var parsedChannels = parameters.ChatMessage.ChannelIds.Select(
|
||||
channelString =>
|
||||
{
|
||||
anyFailed |= !UInt64.TryParse(channelString, out var channelId);
|
||||
return channelId;
|
||||
});
|
||||
|
||||
if (anyFailed)
|
||||
return Error("Failed to parse channelIds as U64!");
|
||||
|
||||
chat.QueueMessage(
|
||||
parameters.ChatMessage,
|
||||
parameters.ChatMessage.ChannelIds.Select(UInt64.Parse));
|
||||
parsedChannels);
|
||||
break;
|
||||
case BridgeCommandType.Prime:
|
||||
var oldPrimeTcs = primeTcs;
|
||||
|
||||
Reference in New Issue
Block a user