summaryrefslogtreecommitdiff
path: root/Objects
Commit message (Collapse)AuthorAgeFilesLines
* bpo-35368: Make PyMem_Malloc() thread-safe in debug mode (GH-10828)Victor Stinner2018-12-031-6/+53
| | | | | | | | | When Python is compiled in debug mode, PyMem_Malloc() uses debug hooks, but it also uses pymalloc allocator instead of malloc(). Problem: pymalloc is not thread-safe, whereas PyMem_Malloc() is thread-safe in release mode (it's a thin wrapper to malloc() in this case). Modify the debug hook to use malloc() for PyMem_Malloc().
* [2.7] bpo-35214: Fix OOB memory access in unicode escape parser (GH-10506) ↵Gregory P. Smith2018-11-141-1/+1
| | | | | | | | | | (GH-10538) Discovered using clang's MemorySanitizer. A msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <greg@krypto.org> [Google LLC]
* [2.7] bpo-34974: Do not replace unexpected errors in bytearray(). (GH-9852) ↵Serhiy Storchaka2018-10-151-3/+5
| | | | | | | (GH-9885) The bytearray constructor converted unexpected exceptions (e.g. MemoryError and KeyboardInterrupt) to TypeError. (cherry picked from commit e890421e334ccf0c000c6b29c4a521d86cd12f47)
* [2.7] bpo-20047: Remove Objects/bytesobject.c from 2.7 (GH-9268)Zackery Spytz2018-09-141-3432/+0
| | | It was accidentally added in 107f3cc791d223dc06b7c80f0de672e88ae6a8d1.
* [2.7] Fix misleading mentions of tp_size in comments (GH-9138)Benjamin Peterson2018-09-101-1/+1
| | | | | | | Many type object initializations labeled a field "tp_size" in the comment, but the name of that field is tp_basicsize.. (cherry picked from commit 0e0bc4e221f592f305d335faf5f8046484eb9238) Co-authored-by: Peter Eisentraut <peter@eisentraut.org>
* bpo-25750: fix refcounts in type_getattro() (GH-6118) (GH-9091)Victor Stinner2018-09-071-7/+13
| | | | | | When calling tp_descr_get(self, obj, type), make sure that we own a strong reference to "self". (cherry picked from commit 8f735485acf2e35a75d2fa019feb8f905598c4e5)
* closes bpo-34477: Objects/typeobject.c: Add missing NULL check to ↵Miss Islington (bot)2018-08-241-0/+3
| | | | | | | | type_init() (GH-8876) Reported by Svace static analyzer. (cherry picked from commit f6247aac08c1a79d0479145a405718bb76dba434) Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
* Fix compilation warnings on Windows (GH-8627)Victor Stinner2018-08-021-1/+1
| | | | | | | | | | | | | | | | | | | * Fix compilation warning in _ctypes module on Window (cherry picked from commit 20f11fe43c47b68c8b9dd6539d2d40b66c9957f9) * Fix compilation warnings on Windows 64-bit (cherry picked from commit 725e4212229bf68f87d4f66c1815d444ddfc7aa5) * Fix compiler warning in unicodeobject.c Explicitly case to Py_UNICODE to fix the warning: Objects\unicodeobject.c(4225): warning C4244: '=' : conversion from 'long' to 'Py_UNICODE', possible loss of data The downcast cannot overflow since we check that value <= 0x10ffff.
* [2.7] bpo-34234: Use _PyAnyInt_Check() and _PyAnyInt_CheckExact(). (GH-8479)Serhiy Storchaka2018-07-3110-23/+19
|
* bpo-34229: Check start and stop of slice object to be long when they are not ↵Xtreak2018-07-261-2/+2
| | | | int in PySlice_GetIndices (GH-8480)
* bpo-16055: Fixes incorrect error text for int('1', base=1000) (#6980)Victor Stinner2018-05-192-2/+2
| | | | Fixes incorrect error text for int('1', base=1000) and long('1', base=1000).
* bpo-33391: Fix refleak in set_symmetric_difference (GH-6670)Miss Islington (bot)2018-05-021-1/+3
| | | | | (cherry picked from commit 491bbedc209fea314a04cb3015da68fb0aa63238) Co-authored-by: lekma <lekmalek@gmail.com>
* Fix typo and edit for clarity in the docstrings of sys.float_info. (GH-2251)Miss Islington (bot)2018-03-261-3/+2
| | | | | (cherry picked from commit 0301c9bdd1ebd788d1334cf3fe06c48f35bab0dc) Co-authored-by: Stefano Taschini <taschini@users.noreply.github.com>
* [2.7] bpo-17288: Prevent jumps from 'return' and 'exception' trace events. ↵xdegaye2018-03-131-4/+35
| | | | | (GH-6111) (cherry picked from commit e32bbaf376a09c149fa7c7f2919d7c9ce4e2a055)
* [2.7] bpo-33026: Fix jumping out of "with" block by setting f_lineno. ↵Miss Islington (bot)2018-03-111-0/+5
| | | | | | | | | (GH-6026). (GH-6074) (GH-6076) (cherry picked from commit 26c9f565d016db21257a60d29ab2c99383dd5ac7) (cherry picked from commit 04aadf23eac51fec2e436c5960c1362bbb7d03de) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
* bpo-18533: Avoid RuntimeError from repr() of recursive dictview (#4823) (#5357)bennorth2018-02-271-7/+15
| | | (cherry picked from commit d7773d92bd11640a8c950d6c36a9cef1cee36f96)
* [2.7] bpo-32137: The repr of deeply nested dict now raises a RuntimeError ↵Serhiy Storchaka2018-02-023-6/+5
| | | | | | | | | (GH-4570) (#5493) instead of crashing due to a stack overflow. This perhaps will fix similar problems in other extension types. (cherry picked from commit 1fb72d2ad243c965d4432b4e93884064001a2607)
* coalesce GILless sections in new_buffersize (#5059)Benjamin Peterson2018-01-021-5/+6
| | | 830daae1c82ed33deef0086b7b6323e5be0b0cc8 added some new GIL-releasing to new_buffersize. This is fine, but it's better to avoid reacquiring the GIL for as long as possible. Also, it should use FILE_(BEGIN|END)_ALLOW_THREADS to avoid having the file closed from under it.
* bpo-31530: fix crash when multiple threads iterate over a file, round 2 (#5060)Benjamin Peterson2018-01-021-51/+67
| | | | | | | | | | | | | | | Multiple threads iterating over a file can corrupt the file's internal readahead buffer resulting in crashes. To fix this, cache buffer state thread-locally for the duration of a file_iternext call and only update the file's internal state after reading completes. No attempt is made to define or provide "reasonable" semantics for iterating over a file on multiple threads. (Non-crashing) races are still present. Duplicated, corrupt, and missing data will happen. This was originally fixed by 6401e5671781eb217ee1afb4603cc0d1b0367ae6, which raised an exception from seek() and next() when concurrent operations were detected. Alas, this simpler solution breaks legitimate use cases such as capturing the standard streams when multiple threads are logging.
* [2.7] bpo-32186: Release the GIL during fstat and lseek calls (#4651)Nir Soffer2017-12-071-3/+18
| | | | | | | | In fileio, there were 3 fstat() calls and one lseek() call that did not release the GIL during the call. This can cause all threads to hang for unlimited time when using io.FileIO with inaccessible NFS server. Same issue seen in fileio exists also in fileobject, fixed in the same way.
* bpo-31626: Fix _PyObject_DebugReallocApi() (#4310)Victor Stinner2017-11-241-7/+13
| | | | | | | | _PyObject_DebugReallocApi() now calls Py_FatalError() if realloc() fails to shrink a memory block. Call Py_FatalError() because _PyObject_DebugReallocApi() erased freed bytes *before* realloc(), expecting that realloc() *cannot* fail to shrink a memory block.
* [2.7] bpo-31530: Stop crashes when iterating over a file on multiple ↵Serhiy Storchaka2017-11-101-3/+16
| | | | threads. (#3672)
* bpo-20064: Document PyObject_Malloc() (#4204)Victor Stinner2017-10-311-1/+1
| | | | | | | | | Document the following functions: * PyObject_Malloc() * PyObject_Realloc() * PyObject_Free() Document also the pymalloc allocator.
* [2.7] bpo-20047: Make bytearray methods partition() and rpartition() ↵Serhiy Storchaka2017-10-292-3/+3456
| | | | | | rejecting (GH-4158) (#4163) separators that are not bytes-like objects.. (cherry picked from commit a2314283ff87c65e1745a42c2f2b716b1a209128)
* [2.7] bpo-31579: Fixed a possible leak in enumerate() with large indices. ↵Serhiy Storchaka2017-09-261-3/+9
| | | | | (GH-3753). (#3761) (cherry picked from commit 0e950dd22b075b4809c84afda8aede02b76ac0fa)
* consistently use Py_TYPE, Py_REFCNT, and correct initializer macros (#3563)Benjamin Peterson2017-09-1310-100/+87
| | | This no-op change makes 2.7 more consistent with 3.x to ease comparison and backports.
* bpo-31095: Fix potential crash during GC (GH-3197)INADA Naoki2017-09-042-0/+8
| | | (cherry picked from commit a6296d34a478b4f697ea9db798146195075d496c)
* bpo-29902: Emit a Py3k deprecation warning when pickling or copying (#2823)Serhiy Storchaka2017-08-021-0/+23
| | | | | | some builtin and extension objects that don't support pickling explicitly and are pickled incorrectly by default (like memoryview or staticmethod).
* [2.7] bpo-30657: Check & prevent integer overflow in PyString_DecodeEscape ↵Jay Bosamiya2017-06-181-1/+7
| | | | (#2174)
* [2.7] bpo-27945: Fixed various segfaults with dict. (GH-1657) (#1681)Serhiy Storchaka2017-05-201-14/+31
| | | | | Based on patches by Duane Griffin and Tim Mitchell. (cherry picked from commit 753bca3934a7618a4fa96e107ad1c5c18633a683)
* [2.7] bpo-25794: Fix `type.__setattr__()` for non-interned or unicode ↵Serhiy Storchaka2017-05-201-5/+38
| | | | | | attribute names. (GH-1652) (#1675) Based on patch by Eryk Sun. (cherry picked from commit d896985bb2de49046f9b6879e906d1e4db255e23)
* bpo-30281: Fix the default value for stop in PySlice_Unpack() (#1531) (#1480)Xiang Zhang2017-05-101-3/+5
|
* bpo-30255: Clip step in _PySlice_Unpack() (#1429)Victor Stinner2017-05-031-0/+7
| | | | | | In PySlice_IndicesEx, clip the step to [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX] rather than [PY_SSIZE_T_MIN, PY_SSIZE_T_MAX]. (cherry picked from commit e6fc7401a92c7b51a80782d8095819b9909a0322)
* bpo-30074: Fix compile warnings of _PySlice_Unpack and convert missed (#1154)Serhiy Storchaka2017-04-158-13/+13
| | | | PySlice_GetIndicesEx in _ctypes.c.
* bpo-27867: Expand the PySlice_GetIndicesEx macro. (#1023) (#1046)Serhiy Storchaka2017-04-088-27/+31
| | | | (cherry picked from commit b879fe8)
* bpo-29935: Fixed error messages in the index() method of tuple and list ↵Serhiy Storchaka2017-03-302-4/+4
| | | | | | | (#887) (#907) (#910) when pass indices of wrong type. (cherry picked from commit d4edfc9abffca965e76ebc5957a92031a4d6c4d4) (cherry picked from commit bf4bb2e43030661e568d5d4b046e8b9351cc164c)
* bpo-29602: fix signed zero handling in complex constructor (#204)Mark Dickinson2017-02-201-3/+3
| | | | | | * bpo-29602: fix signed zero handling in complex constructor * Add missing have_getformat definition; remove use of unittest subtests.
* bpo-29347: Fix possibly dereferencing undefined pointers when creating ↵Xiang Zhang2017-02-201-0/+2
| | | | weakref objects (#128) (#187)
* Issue #29028: Fixed possible use-after-free bugs in the subscription of theSerhiy Storchaka2017-02-011-29/+48
| | | | buffer object with custom index object.
* Issue #27867: Replaced function PySlice_GetIndicesEx() with a macro.Serhiy Storchaka2017-01-251-23/+55
|
* Issue #29145: Fix overflow checks in string, bytearray and unicode.Xiang Zhang2017-01-093-74/+51
| | | | Patch by jan matejek and Xiang Zhang.
* Issue #28427: old keys should not remove new values fromAntoine Pitrou2016-12-271-10/+55
| | | | WeakValueDictionary when collecting from another thread.
* Issue #28998: More APIs now support longs as well as ints.Serhiy Storchaka2016-12-271-2/+5
|
* Issue #29019: Fix dict.fromkeys(x) overallocates when x is sparce dict.INADA Naoki2016-12-201-1/+1
| | | | Original patch by Rasmus Villemoes.
* revert a37cc3d926ec (#5322)Benjamin Peterson2016-12-131-27/+1
|
* Backed out changeset ea904d4b3634Benjamin Peterson2016-12-131-1/+1
|
* fix refleak in reduce_2 error caseBenjamin Peterson2016-12-031-1/+1
|
* fix refleak in the shift-by-zero case (#27870)Benjamin Peterson2016-12-031-5/+6
|
* declarations to the top of the blockBenjamin Peterson2016-12-021-1/+1
|
* Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code.Serhiy Storchaka2016-12-021-1/+27
| | | | Original patch by Andreas Stührk.