.. versionchanged:: 3.11
The delegation to :meth:`__trunc__` is deprecated.
- .. versionchanged:: 3.12
+ .. versionchanged:: 3.11
:class:`int` string inputs and string representations can be limited to
help avoid denial of service attacks. A :exc:`ValueError` is raised when
the limit is exceeded while converting a string *x* to an :class:`int` or
be used to use another datatype or parser for JSON integers
(e.g. :class:`float`).
- .. versionchanged:: 3.12
+ .. versionchanged:: 3.11
The default *parse_int* of :func:`int` now limits the maximum length of
the integer string via the interpreter's :ref:`integer string
conversion length limitation <int_max_str_digits>` to help avoid denial
... '571186405732').to_bytes(53, 'big')
...
-.. versionadded:: 3.12
+.. versionadded:: 3.11
Affected APIs
-------------
* :data:`sys.int_info.str_digits_check_threshold <sys.int_info>` is the lowest
accepted value for the limit (other than 0 which disables it).
-.. versionadded:: 3.12
+.. versionadded:: 3.11
.. caution::
.. versionchanged:: 3.11
Added the ``safe_path`` attribute for :option:`-P` option.
- .. versionchanged:: 3.12
+ .. versionchanged:: 3.11
Added the ``int_max_str_digits`` attribute.
Returns the current value for the :ref:`integer string conversion length
limitation <int_max_str_digits>`. See also :func:`set_int_max_str_digits`.
- .. versionadded:: 3.12
+ .. versionadded:: 3.11
.. function:: getrefcount(object)
.. versionadded:: 3.1
- .. versionchanged:: 3.12
+ .. versionchanged:: 3.11
Added ``default_max_str_digits`` and ``str_digits_check_threshold``.
<int_max_str_digits>` used by this interpreter. See also
:func:`get_int_max_str_digits`.
- .. versionadded:: 3.12
+ .. versionadded:: 3.11
.. function:: setprofile(profilefunc)
context to allow execution of test code that needs a different limit
on the number of digits when converting between an integer and string.
- .. versionadded:: 3.12
+ .. versionadded:: 3.11
The :mod:`test.support` module defines the following classes:
.. versionadded:: 3.11
The ``-X frozen_modules`` option.
- .. versionadded:: 3.12
+ .. versionadded:: 3.11
The ``-X int_max_str_digits`` option.
.. versionadded:: 3.12
interpreter's global :ref:`integer string conversion length limitation
<int_max_str_digits>`.
- .. versionadded:: 3.12
+ .. versionadded:: 3.11
.. envvar:: PYTHONIOENCODING
mapping is hashable.
(Contributed by Serhiy Storchaka in :gh:`87995`.)
-* Converting between :class:`int` and :class:`str` in bases other than 2
- (binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal)
- now raises a :exc:`ValueError` if the number of digits in string form is
- above a limit to avoid potential denial of service attacks due to the
- algorithmic complexity. This is a mitigation for `CVE-2020-10735
- <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_.
- This limit can be configured or disabled by environment variable, command
- line flag, or :mod:`sys` APIs. See the :ref:`integer string conversion
- length limitation <int_max_str_digits>` documentation. The default limit
- is 4300 digits in string form.
-
* :class:`memoryview` now supports the half-float type (the "e" format code).
(Contributed by Dong-hee Na and Antoine Pitrou in :gh:`90751`.)
+++ /dev/null
-Converting between :class:`int` and :class:`str` in bases other than 2
-(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) now
-raises a :exc:`ValueError` if the number of digits in string form is above a
-limit to avoid potential denial of service attacks due to the algorithmic
-complexity. This is a mitigation for `CVE-2020-10735
-<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-10735>`_.
-
-This new limit can be configured or disabled by environment variable, command
-line flag, or :mod:`sys` APIs. See the :ref:`integer string conversion length
-limitation <int_max_str_digits>` documentation. The default limit is 4300
-digits in string form.
-
-Patch by Gregory P. Smith [Google] and Christian Heimes [Red Hat] with feedback
-from Victor Stinner, Thomas Wouters, Steve Dower, Ned Deily, and Mark Dickinson.