[3.11] gh-95778: CVE-2020-10735: Prevent DoS by very large int() by gpshead · Pull Request #96500 · python/cpython
and others added 8 commits
Abigail does not like the fact that `PyInterpreterState` has changed
size and some fields have been moved around. Even placing
`int_max_str_digits` after `_initial_thread` does not make her happy.
Let's move the field out ouf the state and make the setting a
process-wide global. It's ugly, but better ugly than breaking somebody's
code.
```
[C]'function void PyEval_AcquireThread(PyThreadState*)' at ceval.c:452:1 has some indirect sub-type changes:
parameter 1 of type 'PyThreadState*' has sub-type changes:
in pointed to type 'typedef PyThreadState' at pytypedefs.h:24:1:
underlying type 'struct _ts' at pystate.h:82:1 changed:
type size hasn't changed
1 data member changes (2 filtered):
type of 'PyInterpreterState* _ts::interp' changed:
in pointed to type 'typedef PyInterpreterState' at pytypedefs.h:25:1:
underlying type 'struct _is' at pycore_interp.h:78:1 changed:
type size changed from 861952 to 862016 (in bits)
1 data member insertion:
'int _is::int_max_str_digits', at offset 859072 (in bits) at pycore_interp.h:179:1
2 data member changes (3 filtered):
type of 'pyruntimestate* _is::runtime' changed:
in pointed to type 'struct pyruntimestate' at pycore_runtime.h:59:1:
type size changed from 1333440 to 1333504 (in bits)
1 data member changes (2 filtered):
'PyThreadState _is::_initial_thread' offset changed from 859072 to 859136 (in bits) (by +64 bits)
```
gpshead
marked this pull request as ready for review
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters