From 4681faacb542f75cf3ceba6924e3e936a809e01e Mon Sep 17 00:00:00 2001 From: Matt Schatz Date: Thu, 4 Jul 2019 10:42:41 -0600 Subject: DurationString(): Return "0s" for a duration of 0 (#1677). Usually a duration of 0 is not allowed or handled separately, but it can also be used as a 'no set time' without separation. Case in point: m_chanhistory calls DurationString() to convert the max time seconds back to a human readable string for the mode serializer. Returning a blank string is bad here. --- src/helperfuncs.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 386d6dafc..70ac2f0e6 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -432,6 +432,9 @@ bool InspIRCd::IsValidDuration(const std::string& duration) std::string InspIRCd::DurationString(time_t duration) { + if (duration == 0) + return "0s"; + time_t years = duration / 31449600; time_t weeks = (duration / 604800) % 52; time_t days = (duration / 86400) % 7; -- cgit v1.2.3