cpython/Objects
Pablo Galindo 10cd00a9e3
bpo-38395: Fix ownership in weakref.proxy methods (GH-16632)
The implementation of weakref.proxy's methods call back into the Python
API using a borrowed references of the weakly referenced object
(acquired via PyWeakref_GET_OBJECT). This API call may delete the last
reference to the object (either directly or via GC), leaving a dangling
pointer, which can be subsequently dereferenced.

To fix this, claim a temporary ownership of the referenced object when
calling the appropriate method. Some functions because at the moment they
do not need to access the borrowed referent, but to protect against
future changes to these functions, ownership need to be fixed in
all potentially affected methods.
2019-10-08 16:30:50 +01:00
..
clinic bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
stringlib Doc: Fix typo in fastsearch comments (GH-14608) 2019-09-11 14:43:29 +02:00
README Issue #18093: Factor out the programs that embed the runtime 2014-07-25 21:52:14 +10:00
abstract.c abstract.c should not be executable. (GH-15348) 2019-08-20 19:19:43 -07:00
accu.c bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271) 2018-11-01 02:30:36 +01:00
boolobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
bytearrayobject.c bpo-37840: Fix handling of negative indices in bytearray_getitem() (GH-15250) 2019-09-09 09:28:34 -07:00
bytes_methods.c bpo-38383: Fix possible integer overflow in startswith() of bytes and bytearray. (GH-16603) 2019-10-06 15:17:18 +03:00
bytesobject.c bpo-36389: Fix _PyBytesWriter in release mode (GH-16624) 2019-10-07 22:31:42 +02:00
call.c bpo-37151: remove special case for PyCFunction from PyObject_Call (GH-14684) 2019-09-11 12:01:01 +01:00
capsule.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
cellobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
classobject.c Make PyXXX_Fini() functions private (GH-15531) 2019-08-27 00:12:32 +02:00
codeobject.c bpo-37221: Add PyCode_NewWithPosOnlyArgs to be used internally and set PyCode_New as a compatibility wrapper (GH-13959) 2019-07-01 12:35:05 +02:00
complexobject.c bpo-37236: pragma optimize off for _Py_c_quot on Windows arm64 (GH-13983) 2019-06-12 11:08:40 -07:00
descrobject.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
dict-common.h bpo-33312: Fix clang ubsan out of bounds warnings in dict. (GH-6537) 2018-04-19 22:41:19 -07:00
dictnotes.txt Issue #15055: update dictnotes.txt. Patch by Mark Shannon. 2012-06-24 21:03:45 +02:00
dictobject.c bpo-36389: _PyObject_CheckConsistency() available in release mode (GH-16612) 2019-10-07 18:42:01 +02:00
enumobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
exceptions.c bpo-37757: Disallow PEP 572 cases that expose implementation details (GH-15131) 2019-08-25 23:45:40 +10:00
fileobject.c bpo-15999: Clean up of handling boolean arguments. (GH-15610) 2019-09-01 12:16:51 +03:00
floatobject.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
frameobject.c Make PyXXX_Fini() functions private (GH-15531) 2019-08-27 00:12:32 +02:00
funcobject.c bpo-19072: Make @classmethod support chained decorators (GH-8405) 2019-08-24 15:37:25 -07:00
genobject.c bpo-30773: Fix ag_running; prohibit running athrow/asend/aclose in parallel (#7468) 2019-09-29 22:59:11 -07:00
interpreteridobject.c bpo-38005: Remove support of string argument in InterpreterID(). (GH-16227) 2019-09-25 18:35:57 +03:00
iterobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
listobject.c bpo-36946:Fix possible signed integer overflow when handling slices. (GH-15639) 2019-09-08 13:15:56 +03:00
listsort.txt Fix typos mostly in comments, docs and test names (GH-15209) 2019-08-30 16:21:19 -04:00
lnotab_notes.txt bpo-38115: Deal with invalid bytecode offsets in lnotab (GH-16079) 2019-09-28 07:49:15 -07:00
longobject.c bpo-37802: Fix a compiler warning in longobject.c (GH-16517) 2019-10-01 13:29:53 +02:00
memoryobject.c bpo-37483: add _PyObject_CallOneArg() function (#14558) 2019-07-04 19:31:34 +09:00
methodobject.c bpo-37151: remove special case for PyCFunction from PyObject_Call (GH-14684) 2019-09-11 12:01:01 +01:00
moduleobject.c bpo-33714: Output an exception raised in module's m_clear(). (GH-16592) 2019-10-08 03:46:17 -07:00
namespaceobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
object.c bpo-38400 Don't check for NULL linked list pointers in _PyObject_IsFreed (GH-16630) 2019-10-08 00:43:14 +01:00
obmalloc.c bpo-36389: Fix _PyBytesWriter in release mode (GH-16624) 2019-10-07 22:31:42 +02:00
odictobject.c bpo-37337: Add _PyObject_CallMethodNoArgs() (GH-14267) 2019-07-08 17:19:25 +09:00
picklebufobject.c bpo-36785: PEP 574 implementation (GH-7076) 2019-05-26 17:10:09 +02:00
rangeobject.c bpo-36974: tp_print -> tp_vectorcall_offset and tp_reserved -> tp_as_async (GH-13464) 2019-05-30 19:13:39 -07:00
setobject.c bpo-37994: Fix silencing all errors if an attribute lookup fails. (GH-15630) 2019-09-01 12:03:39 +03:00
sliceobject.c Make PyXXX_Fini() functions private (GH-15531) 2019-08-27 00:12:32 +02:00
structseq.c bpo-37206: Unrepresentable default values no longer represented as None. (GH-13933) 2019-09-14 12:24:05 +03:00
tupleobject.c Correct overflow check in PyTuple_New() (GH-14838) 2019-09-09 13:40:58 -07:00
typeobject.c bpo-36389: _PyObject_CheckConsistency() available in release mode (GH-16612) 2019-10-07 18:42:01 +02:00
typeslots.inc add Py_tp_finalize slot (closes #24345) 2015-06-01 10:12:48 -05:00
typeslots.py Issue #26662: Set PYTHON_FOR_GEN in configure 2016-07-26 12:48:08 +02:00
unicodectype.c Removed unintentional trailing spaces in non-external and non-generated C files. 2015-03-18 21:53:15 +02:00
unicodeobject.c bpo-36389: _PyObject_CheckConsistency() available in release mode (GH-16612) 2019-10-07 18:42:01 +02:00
unicodetype_db.h closes bpo-36861: Update Unicode database to 12.1.0. (GH-13214) 2019-05-08 20:59:35 -07:00
weakrefobject.c bpo-38395: Fix ownership in weakref.proxy methods (GH-16632) 2019-10-08 16:30:50 +01:00

README

Source files for various builtin objects