From ad921e17e340e0c772c05a6518d56cbb44e78fe1 Mon Sep 17 00:00:00 2001 From: Ske Date: Thu, 24 Dec 2020 19:41:46 +0100 Subject: [PATCH] Fix autoproxy timeout overflow --- PluralKit.Bot/Commands/Autoproxy.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PluralKit.Bot/Commands/Autoproxy.cs b/PluralKit.Bot/Commands/Autoproxy.cs index 94e94dd2..b1d690fd 100644 --- a/PluralKit.Bot/Commands/Autoproxy.cs +++ b/PluralKit.Bot/Commands/Autoproxy.cs @@ -154,6 +154,10 @@ namespace PluralKit.Bot else if (ctx.Match("reset", "default")) newTimeoutHours = -1; else if (!int.TryParse(ctx.RemainderOrNull(), out newTimeoutHours)) throw new PKError("Duration must be a number of hours."); + if (newTimeoutHours > 100000) + // sanity check to prevent seconds overflow if someone types in 999999999 + newTimeoutHours = 0; + var newTimeout = newTimeoutHours > -1 ? Duration.FromHours(newTimeoutHours) : (Duration?) null; await _db.Execute(conn => _repo.UpdateSystem(conn, ctx.System.Id, new SystemPatch { LatchTimeout = (int?) newTimeout?.TotalSeconds }));