From 69f757758dd76b08acd84bc1495bd3b5ed72a880 Mon Sep 17 00:00:00 2001 From: Red-GitHubBot <88117545+Red-GitHubBot@users.noreply.github.com> Date: Thu, 20 Apr 2023 02:58:15 +0200 Subject: [PATCH] [3.4] Disallow NaN and Infinity in Trivia CONFIG schema (#5949) (#6083) Co-authored-by: Jakub Kuczys --- redbot/cogs/trivia/schema.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/redbot/cogs/trivia/schema.py b/redbot/cogs/trivia/schema.py index d3effffef..19511a21c 100644 --- a/redbot/cogs/trivia/schema.py +++ b/redbot/cogs/trivia/schema.py @@ -1,4 +1,5 @@ import itertools +import math import re from typing import Any, NoReturn @@ -18,8 +19,8 @@ class SchemaErrorMessage(str): def int_or_float(value: Any) -> float: - if not isinstance(value, (float, int)): - raise TypeError("Value needs to be an integer or a float.") + if not isinstance(value, (float, int)) or not math.isfinite(value): + raise TypeError("Value needs to be an integer or a finite float.") return float(value)