Commit Graph

445 Commits

Author SHA1 Message Date
Victor Stinner 80dfe99016
bpo-26423: Fix possible overflow in wrap_lenfunc() (GH-13606) (GH-13625)
Fix possible overflow in wrap_lenfunc() when
sizeof(long) < sizeof(Py_ssize_t) (e.g., 64-bit Windows).

(cherry picked from commit 05f16416d9)
2019-05-28 17:23:07 +02:00
Miss Islington (bot) eda691dd9d
closes bpo-36951: Correct some types in the type_members struct in typeobject.c. (GH-13403)
(cherry picked from commit 53d378c812)

Co-authored-by: Zackery Spytz <zspytz@gmail.com>
2019-05-19 17:49:50 -07:00
Victor Stinner bf2bd8f8a1
bpo-25750: fix refcounts in type_getattro() (GH-6118) (GH-9091)
When calling tp_descr_get(self, obj, type), make sure that
we own a strong reference to "self".

(cherry picked from commit 8f735485ac)
2018-09-07 10:15:31 +02:00
Miss Islington (bot) ea21206626
closes bpo-34477: Objects/typeobject.c: Add missing NULL check to type_init() (GH-8876)
Reported by Svace static analyzer.
(cherry picked from commit f6247aac08)

Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
2018-08-24 00:51:46 -04:00
Serhiy Storchaka 3dd1ccbb09 bpo-29902: Emit a Py3k deprecation warning when pickling or copying (#2823)
some builtin and extension objects that don't support pickling
explicitly and are pickled incorrectly by default (like memoryview or
staticmethod).
2017-08-02 11:33:33 +03:00
Serhiy Storchaka e9f9b04278 [2.7] bpo-25794: Fix `type.__setattr__()` for non-interned or unicode attribute names. (GH-1652) (#1675)
Based on patch by Eryk Sun.
(cherry picked from commit d896985bb2)
2017-05-20 10:04:53 +03:00
Benjamin Peterson 4403d501ac revert a37cc3d926ec (#5322) 2016-12-13 23:30:16 -08:00
Benjamin Peterson d1aad3fceb Backed out changeset ea904d4b3634 2016-12-13 23:27:56 -08:00
Benjamin Peterson f8f2138bd4 fix refleak in reduce_2 error case 2016-12-03 12:08:24 -08:00
Benjamin Peterson cffc0f4178 declarations to the top of the block 2016-12-02 00:02:24 -08:00
Serhiy Storchaka daf82f7539 Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code.
Original patch by Andreas Stührk.
2016-12-02 08:42:43 +02:00
Serhiy Storchaka 61dd7ff073 Issue #26906: Resolving special methods of uninitialized type now causes
implicit initialization of the type instead of a fail.
2016-10-08 12:24:09 +03:00
Serhiy Storchaka 0ea51b18d5 Issue #18287: PyType_Ready() now checks that tp_name is not NULL.
Original patch by Niklas Koep.
2016-10-07 23:24:35 +03:00
Victor Stinner 42e9d94bc5 Fix a refleak in call_maybe()
Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.
2016-08-19 17:58:54 +02:00
Victor Stinner c9921d3bdc Fix a refleak in call_method()
Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.
2016-08-19 17:52:53 +02:00
Martin Panter 3d36f0f712 Spelling and grammar fixes in code comments and documentation 2016-07-28 02:37:04 +00:00
Benjamin Peterson ee69451f34 fix refleaks in PyDict_SetItem error cases (closes #27248) 2016-07-06 23:26:32 -07:00
Martin Panter 646b528467 Issue #22463: Backport compiler warning fixes and workarounds
* Set but unused variable in Parser/pgen.c in non-debug builds. Patch by
  Christian Heimes.
* Unused static function in Modules/readline.c. Patch by Georg Brandl.
* main_window unused in Modules/tkappinit.c. Patch by Gregory P. Smith.
* Dead assignment in Modules/_ctypes/cfield.c. Extracted from patch by Brett
  Cannon.
* Expression result unused in PyObject_INIT macro expansions. Based on
  patches by Christian Heimes.
* Load expat_config.h and therefore pyconfig.h before C stdlib headers are
  loaded. This silences pre-processor warnings including '_POSIX_C_SOURCE
  redefined'. Extracted from patch by Christian Heimes.
2016-06-21 23:58:05 +00:00
Serhiy Storchaka 1a9ee946b0 Issue #27225: Fixed a reference leak in type_new when setting __new__ fails.
Original patch by Xiang Zhang.
2016-06-05 11:06:42 +03:00
Benjamin Peterson 6ee36a5a8c Backed out changeset e7062dd9085e (#25731) 2016-05-28 14:03:41 -07:00
Serhiy Storchaka 9ec6464008 Issue #26718: super.__init__ no longer leaks memory if called multiple times.
NOTE: A direct call of super.__init__ is not endorsed!
2016-04-13 15:27:33 +03:00
Serhiy Storchaka bc62af1bbe Issue #22570: Renamed Py_SETREF to Py_XSETREF. 2016-04-06 09:51:18 +03:00
Benjamin Peterson b59b04dd86 fix hash member name (closes #22847) 2016-02-06 22:36:06 -08:00
Benjamin Peterson 4a0a9556fc fix debug assertion 2016-02-04 22:26:10 -08:00
Antoine Pitrou 225e7c0def Issue #22847: Improve method cache efficiency. 2014-11-15 00:56:27 +01:00
Benjamin Peterson a4acf1ff84 set tp_new from the class in the hierarchy that actually owns the descriptor (closes #25731)
Debugging by Eryk Sun.
2016-01-18 21:17:54 -08:00
Barry Warsaw 607965eb7e Comment out two tests that won't pass now after reverting the typeobject.c
change.  Also, as per further discussion, we'll just remove the regressing
code in typeobject.c
2016-01-11 14:44:59 -05:00
Barry Warsaw f65395c8c2 Issue #22995: [UPDATE] Comment out the one of the pickleability tests in
_PyObject_GetState() due to regressions observed in Cython-based projects.
2016-01-11 13:52:23 -05:00
Serhiy Storchaka 28f35f246b Issue #25961: Fixed compilation error and a leak in type constructor. 2015-12-31 12:03:14 +02:00
Serhiy Storchaka f9347e3b44 Issue #25961: Disallowed null characters in the type name. 2015-12-30 21:39:21 +02:00
Serhiy Storchaka b8e54dd806 Issue #22995: Instances of extension types with a state that aren't
subclasses of list or dict and haven't implemented any pickle-related
methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__,
or __getstate__), can no longer be pickled.  Including memoryview.
2015-12-30 20:43:29 +02:00
Serhiy Storchaka 5951f2300f Issue #20440: Massive replacing unsafe attribute setting code with special
macro Py_SETREF.
2015-12-24 10:35:35 +02:00
Serhiy Storchaka ee1b24ccaa Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
__getattr__.  Original patch by Antoine Pitrou.
2015-11-25 18:35:33 +02:00
Serhiy Storchaka fedcf9474e Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
rejects builtin types with not defined __new__.
2015-11-12 11:59:03 +02:00
Benjamin Peterson 77d12ecaad prevent unacceptable bases from becoming bases through multiple inheritance (#24806) 2015-10-06 19:36:54 -07:00
Serhiy Storchaka f0aa88f6e8 Fixed indentation of Python examples in C comments. 2015-06-11 00:06:27 +03:00
Serhiy Storchaka ce16424b0b Issue #22079: Py3k warning now is issued in PyType_Ready() instead of
raising TypeError when statically allocated type subclasses dynamically
allocated type
2015-03-22 09:45:35 +02:00
Antoine Pitrou 323ab6d732 Issue #23629: Fix the default __sizeof__ implementation for variable-sized objects. 2015-03-10 22:32:00 +01:00
Serhiy Storchaka 4c54387f11 Issue #22079: PyType_Ready() now checks that statically allocated type has
no dynamically allocated bases.
2015-01-28 10:52:49 +02:00
Benjamin Peterson e2defc4132 remove tautological condition (closes #22954) 2014-11-26 23:03:11 -06:00
Georg Brandl 409062c669 Closes #22772: fix __ifloordiv__ and __itruediv__ docstring. 2014-10-31 13:12:57 +01:00
Mark Dickinson f794b143d3 Issue #16447: Fix potential segfault when setting __name__ on a class. 2013-04-13 15:19:05 +01:00
Benjamin Peterson 74001fad7d list slotdefs in offset order rather than sorting them (closes #17610)
This means we can remove our usage of qsort() than relied on undefined behavior.

Backport by Zbigniew Halas.
2013-04-07 09:52:59 -04:00
R David Murray 5aff27aec1 #7963: fix error message when 'object' called with arguments.
Patch by Alexander Belopolsky.
2013-02-18 22:04:59 -05:00
Raymond Hettinger ac7b49f407 Improve tooltips by listing the most common argument pattern first. 2013-01-18 23:23:11 -08:00
Christian Heimes 47770ed914 Fixed memory leak in error branch of object_repr which may leak a reference to mod when type_name returns NULL. CID 715371 2012-09-10 16:57:36 +02:00
Christian Heimes 4e80eea60e Fixed possible reference leak to mod when type_name() returns NULL 2012-09-10 03:00:14 +02:00
Antoine Pitrou 58098a77e6 Issue #13992: The trashcan mechanism is now thread-safe. This eliminates
sporadic crashes in multi-thread programs when several long deallocator
chains ran concurrently and involved subclasses of built-in container
types.

Because of this change, a couple extension modules compiled for 2.7.4
(those which use the trashcan mechanism, despite it being undocumented)
will not be loadable by 2.7.3 and earlier. However, extension modules
compiled for 2.7.3 and earlier will be loadable by 2.7.4.
2012-09-06 00:59:49 +02:00
Antoine Pitrou c5bef75c77 Issue #15604: Update uses of PyObject_IsTrue() to check for and handle errors correctly.
Patch by Serhiy Storchaka.
2012-08-15 23:16:51 +02:00
Benjamin Peterson f1ae5cf5c7 fix possible refleak (closes #14752) 2012-05-08 09:22:24 -04:00