From 29c4df1e71dc2bd31afe0b7b8e4fcc6ecf2f945f Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Thu, 10 Nov 2022 13:32:19 +0100 Subject: [PATCH] fix validation --- .../MareSynchronosServer/Hubs/MareHub.User.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs index 8e9db86..b044d5f 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs @@ -125,11 +125,12 @@ public partial class MareHub foreach (var replacement in characterCache.FileReplacements.SelectMany(p => p.Value)) { - if (replacement.GamePaths.Any(p => !GamePathRegex().IsMatch(p)) - || (!string.IsNullOrEmpty(replacement.Hash) && !HashRegex().IsMatch(replacement.Hash)) - || (!string.IsNullOrEmpty(replacement.FileSwapPath) && !GamePathRegex().IsMatch(replacement.FileSwapPath))) + bool validGamePaths = replacement.GamePaths.All(p => GamePathRegex().IsMatch(p)); + bool validHash = string.IsNullOrEmpty(replacement.Hash) || HashRegex().IsMatch(replacement.Hash); + bool validFileSwapPath = string.IsNullOrEmpty(replacement.FileSwapPath) || GamePathRegex().IsMatch(replacement.FileSwapPath); + if (!validGamePaths || !validHash || !validFileSwapPath) { - _logger.LogCallWarning(MareHubLogger.Args("Invalid Data")); + _logger.LogCallWarning(MareHubLogger.Args("Invalid Data", "GamePaths", validGamePaths, "Hash", validHash, "FileSwap", validFileSwapPath)); throw new HubException("Invalid data provided"); } }