cpython/Modules
Miss Islington (bot) 74a7f5d2da
[3.12] gh-109496: Detect Py_DECREF() after dealloc in debug mode (GH-109539) (#109545)
gh-109496: Detect Py_DECREF() after dealloc in debug mode (GH-109539)

On a Python built in debug mode, Py_DECREF() now calls
_Py_NegativeRefcount() if the object is a dangling pointer to
deallocated memory: memory filled with 0xDD "dead byte" by the debug
hook on memory allocators. The fix is to check the reference count
*before* checking for _Py_IsImmortal().

Add test_decref_freed_object() to test_capi.test_misc.
(cherry picked from commit 0bb0d88e2d)

Co-authored-by: Victor Stinner <vstinner@python.org>
2023-09-18 17:39:27 +00:00
..
_blake2
_ctypes [3.12] gh-46376: Revert "Return existing pointer when possible in ctypes (GH-107131) (GH-107487)" (#108864) 2023-09-04 16:24:16 +02:00
_decimal [3.12] gh-106263: Fix segfault in signaldict_repr in _decimal module (#… (#107491) 2023-07-31 14:34:16 +02:00
_hacl [3.12] gh-99108: Refresh HACL* (GH-104808) (#104893) 2023-05-24 20:55:37 +00:00
_io [3.12] gh-107801: Improve the accuracy of io.IOBase.seek docs (#108268) (#108655) 2023-08-29 22:19:08 +02:00
_multiprocessing [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
_sqlite [3.12] gh-108083: Don't ignore exceptions in sqlite3.Connection.__init__() and .close() (#108084) (#108141) 2023-08-20 01:07:41 +02:00
_sre [3.12] gh-100061: Proper fix of the bug in the matching of possessive quantifiers (GH-102612) (#108003) 2023-08-16 12:00:55 +02:00
_ssl GH-103092: isolate _ssl (#104725) 2023-05-22 06:14:48 +05:30
_testcapi [3.12] C API tests: use special markers to test that output parameters were set (GH-109014) (#109023) 2023-09-08 15:09:49 +02:00
_xxtestfuzz
cjkcodecs
clinic [3.12] gh-107801: Improve the accuracy of os.lseek docs (#107935) (#108136) 2023-08-20 01:05:00 +02:00
expat
_abc.c
_asynciomodule.c [3.12] gh-105987: Fix reference counting issue in `_asyncio._swap_cur… (#106099) 2023-06-26 08:51:28 +00:00
_bisectmodule.c
_bz2module.c
_codecsmodule.c
_collectionsmodule.c
_contextvarsmodule.c
_cryptmodule.c
_csv.c
_curses_panel.c [3.12] gh-86493: Fix possible leaks in modules initialization: _curses_panel, _decimal, posix, xxsubtype (GH-106767) (#106849) 2023-07-18 10:03:59 +03:00
_cursesmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
_datetimemodule.c [3.12] Clarify distinction between datetime module and class in deprecation messages (GH-108073) (#108540) 2023-08-27 16:16:21 +02:00
_dbmmodule.c
_elementtree.c [3.12] gh-105375: Improve error handling in _elementtree (GH-105591) (#105600) 2023-06-09 21:15:24 +00:00
_functoolsmodule.c
_gdbmmodule.c
_hashopenssl.c [3.12] gh-106033: Get rid of new occurrences of PyDict_GetItem and Py… (#106041) 2023-06-24 16:36:34 -07:00
_heapqmodule.c
_json.c
_localemodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
_lsprof.c [3.12] GH-106152: Add PY_THROW event to cProfile (GH-106256) 2023-06-29 23:39:18 +00:00
_lzmamodule.c
_math.h
_opcode.c
_operator.c
_pickle.c [3.12] gh-105375: Improve error handling in _Unpickler_SetInputStream() (#105667) (#105720) 2023-06-13 09:15:19 +00:00
_posixsubprocess.c [3.12] gh-104690 Disallow thread creation and fork at interpreter finalization (GH-104826) (#105277) 2023-06-04 04:32:00 +00:00
_queuemodule.c [3.12] gh-104812: Run Pending Calls in any Thread (gh-104813) (gh-105752) 2023-06-14 00:50:08 +00:00
_randommodule.c
_scproxy.c
_ssl.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
_ssl.h GH-103092: isolate _ssl (#104725) 2023-05-22 06:14:48 +05:30
_ssl_data.h
_ssl_data_31.h [3.12] gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) (#105199) 2023-06-01 17:13:35 +00:00
_ssl_data_111.h [3.12] gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) (#105199) 2023-06-01 17:13:35 +00:00
_ssl_data_300.h [3.12] gh-103142: Upgrade binary builds and CI to OpenSSL 1.1.1u (GH-105174) (#105199) 2023-06-01 17:13:35 +00:00
_stat.c [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) 2023-07-18 15:14:10 +03:00
_statisticsmodule.c
_struct.c
_testbuffer.c
_testcapi_feature_macros.inc [3.12] gh-102304: doc: Add links to Stable ABI and Limited C API (#105345) (#105371) 2023-06-06 13:11:28 +00:00
_testcapimodule.c [3.12] gh-109496: Detect Py_DECREF() after dealloc in debug mode (GH-109539) (#109545) 2023-09-18 17:39:27 +00:00
_testclinic.c
_testimportmultiple.c
_testinternalcapi.c [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258) (gh-107303) 2023-07-27 13:15:47 -06:00
_testmultiphase.c
_testsinglephase.c [3.12] gh-102251: Explicitly free state for test modules with state in test_import (GH-105085) (#105170) 2023-05-31 21:34:21 +00:00
_threadmodule.c [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) 2023-07-18 15:14:10 +03:00
_tkinter.c [3.12] gh-106350: Tkinter: do not ignore return value of mp_init() (GH-106351) (GH-107258) 2023-07-26 10:58:33 +03:00
_tracemalloc.c GH-101520: Move tracemalloc functionality into core, leaving interface in Modules. (#104508) 2023-05-17 14:17:16 +01:00
_typingmodule.c gh-104549: Set __module__ on TypeAliasType (#104550) 2023-05-18 15:56:15 -07:00
_uuidmodule.c
_weakref.c
_winapi.c [3.12] gh-106844: Fix issues in _winapi.LCMapStringEx (GH-107832) (#107874) 2023-08-16 12:10:42 +02:00
_xxinterpchannelsmodule.c [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258) (gh-107303) 2023-07-27 13:15:47 -06:00
_xxsubinterpretersmodule.c [3.12] gh-101524: Only Use Public C-API in the _xxsubinterpreters Module (gh-105258) (gh-107303) 2023-07-27 13:15:47 -06:00
_zoneinfo.c [3.12] gh-105375: Improve error handling in zoneinfo module (GH-105586) (#105612) 2023-06-09 23:22:10 +00:00
addrinfo.h
arraymodule.c [3.12] gh-105375: Improve array.array exception handling (GH-105594) (#105644) 2023-06-11 10:24:22 +00:00
atexitmodule.c
audioop.c
binascii.c
cmathmodule.c [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) 2023-07-18 15:14:10 +03:00
config.c.in
errnomodule.c [3.12] gh-105375: Improve errnomodule error handling (#105590) (#105596) 2023-06-09 20:36:53 +00:00
faulthandler.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
fcntlmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
gc_weakref.txt
gcmodule.c
getaddrinfo.c
getbuildinfo.c
getnameinfo.c
getpath.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
getpath.py
getpath_noop.c
grpmodule.c [3.12] gh-104432: Use memcpy() to avoid misaligned loads (GH-104433) (#107355) 2023-07-27 13:52:39 -07:00
hashlib.h [3.12] gh-99108: Release the GIL around hashlib built-in computation (GH-104675) (#104776) 2023-05-23 11:24:02 +00:00
itertoolsmodule.c [3.12] Fix grammar and improve clarity for an deprecation message. (GH-105457) (#105458) 2023-06-07 12:41:04 -05:00
ld_so_aix.in
main.c
makesetup
makexp_aix
mathmodule.c [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) 2023-07-18 15:14:10 +03:00
md5module.c [3.12] gh-99108: Release the GIL around hashlib built-in computation (GH-104675) (#104776) 2023-05-23 11:24:02 +00:00
mmapmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
nismodule.c
ossaudiodev.c
overlapped.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
posixmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
posixmodule.h
pwdmodule.c
pyexpat.c [3.12] gh-105375: Harden pyexpat initialisation (#105606) (#105669) 2023-06-11 21:35:13 +00:00
readline.c [3.12] gh-89886: Rely on HAVE_SYS_TIME_H (GH-105058) (#105192) 2023-06-01 12:08:37 +00:00
README
resource.c [3.12] gh-89886: Rely on HAVE_SYS_TIME_H (GH-105058) (#105192) 2023-06-01 12:08:37 +00:00
rotatingtree.c
rotatingtree.h
selectmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
Setup [3.12] gh-99108: Refresh HACL* (GH-104808) (#104893) 2023-05-24 20:55:37 +00:00
Setup.bootstrap.in gh-103763: Implement PEP 695 (#103764) 2023-05-15 20:36:23 -07:00
Setup.stdlib.in [3.12] gh-107178: Add the C API tests for the Abstract Objects Layer (GH-107179) (#107728) 2023-08-16 14:29:08 +02:00
sha1module.c [3.12] gh-99108: Release the GIL around hashlib built-in computation (GH-104675) (#104776) 2023-05-23 11:24:02 +00:00
sha2module.c [3.12] gh-99108: Refresh HACL* (GH-104808) (#104893) 2023-05-24 20:55:37 +00:00
sha3module.c [3.12] gh-99108: Release the GIL around hashlib built-in computation (GH-104675) (#104776) 2023-05-23 11:24:02 +00:00
signalmodule.c [3.12] gh-104812: Run Pending Calls in any Thread (gh-104813) (gh-105752) 2023-06-14 00:50:08 +00:00
socketmodule.c [3.12] gh-107913: Fix possible losses of OSError error codes (GH-107930) (#108523) 2023-08-27 01:24:40 +02:00
socketmodule.h
spwdmodule.c
symtablemodule.c
syslogmodule.c
termios.c
timemodule.c [3.12] gh-86493: Fix possible leaks in some modules initialization (GH-106768) (GH-106855) 2023-07-18 15:14:10 +03:00
tkappinit.c
tkinter.h
unicodedata.c
unicodedata_db.h
unicodename_db.h
winreparse.h
xxlimited.c
xxlimited_35.c
xxmodule.c
xxsubtype.c [3.12] gh-86493: Fix possible leaks in modules initialization: _curses_panel, _decimal, posix, xxsubtype (GH-106767) (#106849) 2023-07-18 10:03:59 +03:00
zlibmodule.c

Source files for standard library extension modules,
and former extension modules that are now builtin modules.