diff --git a/test/test_utils.py b/test/test_utils.py index 3aa248b96a..17e43f9b36 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -626,6 +626,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(float_or_none(None), None) self.assertEqual(float_or_none([]), None) self.assertEqual(float_or_none(set()), None) + self.assertEqual(float_or_none(sys.float_info.radix ** sys.float_info.max_exp), None) def test_int_or_none(self): self.assertEqual(int_or_none('42'), 42) diff --git a/yt_dlp/utils/_utils.py b/yt_dlp/utils/_utils.py index a791556eb5..a6e0baffcd 100644 --- a/yt_dlp/utils/_utils.py +++ b/yt_dlp/utils/_utils.py @@ -2060,7 +2060,7 @@ def float_or_none(v, scale=1, invscale=1, default=None): scale = 1 try: return float(v) * invscale / scale - except (ValueError, TypeError): + except (ValueError, TypeError, OverflowError): return default