From 1c02bdc7023d44c0c94ef5fb294ef3dbc4d1c9ae Mon Sep 17 00:00:00 2001 From: vycdev2 Date: Tue, 15 Sep 2026 05:04:54 +0000 Subject: [PATCH] fix: reject zero owner IDs --- Modules/AdministratorModule.cs | 4 +++- Morpheus.Tests/AdministratorModuleTests.cs | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Modules/AdministratorModule.cs b/Modules/AdministratorModule.cs index 7c2f460..d7d2095 100644 --- a/Modules/AdministratorModule.cs +++ b/Modules/AdministratorModule.cs @@ -158,7 +158,9 @@ internal static int CalculateLogSkipCount(int page, int pageSize) internal static bool TryParseOwnerId(string? value, out ulong ownerId) { ownerId = 0; - return !string.IsNullOrWhiteSpace(value) && ulong.TryParse(value, out ownerId); + return !string.IsNullOrWhiteSpace(value) && + ulong.TryParse(value, out ownerId) && + ownerId > 0; } internal static IReadOnlyList BuildLogMessages(IEnumerable lines) diff --git a/Morpheus.Tests/AdministratorModuleTests.cs b/Morpheus.Tests/AdministratorModuleTests.cs index 74c8d42..8e9d7d9 100644 --- a/Morpheus.Tests/AdministratorModuleTests.cs +++ b/Morpheus.Tests/AdministratorModuleTests.cs @@ -8,6 +8,7 @@ public class AdministratorModuleTests [InlineData(null)] [InlineData("")] [InlineData(" ")] + [InlineData("0")] [InlineData("not-a-user-id")] public void TryParseOwnerId_RejectsMissingOrInvalidValues(string? value) {