gh-121617: Fix Py_CLEAR() in C++: replace NULL with _Py_NULL - #157067
Conversation
* Enhance Py_CLEAR() test in test_cext and test_cppext. Check that Py_CLEAR(obj) sets obj to NULL. * Add also tests on Py_SETREF() and Py_BEGIN_CRITICAL_SECTION().
|
This change should be backported to 3.13 and 3.14 branches, but Py_CLEAR() is not tested in these branches. So the change should be backported manually. |
|
At the beginning, I just wanted to check that |
|
Thanks @vstinner for the PR 🌮🎉.. I'm working now to backport this PR to: 3.15. |
|
GH-157186 is a backport of this pull request to the 3.15 branch. |
|
GH-157187 is a backport of this pull request to the 3.14 branch. |
…ython#157067) * Enhance Py_CLEAR() test in test_cext and test_cppext. Check that Py_CLEAR(obj) sets obj to NULL. * Add also tests on Py_SETREF() and Py_BEGIN_CRITICAL_SECTION(). (cherry picked from commit 36c7440)
|
GH-157189 is a backport of this pull request to the 3.13 branch. |
|
Oh no, I forgot to replace |
…157067) (#157187) * gh-121617: Fix Py_CLEAR() in C++: replace NULL with _Py_NULL (#157067) * Enhance Py_CLEAR() test in test_cext and test_cppext. Check that Py_CLEAR(obj) sets obj to NULL. * Add also tests on Py_SETREF() and Py_BEGIN_CRITICAL_SECTION(). (cherry picked from commit 36c7440) * Use also _Py_NULL in memcpy() implementation of Py_CLEAR()
* main: (158 commits) pythongh-156924: Try reifying lazy imports in `ForwarRef.evaluate()` (python#156940) pythongh-156233: Fix typos and code snippet errors in the docs (python#156475) pythongh-156837: Refer to yield expressions in generator function definitions (pythonGH-156863) pythongh-155292: Skip updating unicodedata with mismatched interpreter (pythonGH-157066) pythongh-157170: Document the scope of global curses settings (pythonGH-157207) pythongh-155966: Correct handling of `math.tanpi` poles (python#155980) pythongh-157170: Restore use_env() after test_use_prescr_screen in test_curses (pythonGH-157171) pythongh-156910: fix deadlock in type_set_abstractmethods under free-threading (python#156948) pythongh-155648: Write the empty and placeholder IDLE tests (python#156260) pythongh-153569: centralize formatted-string state and source spans (python#156484) pythongh-157137: Mark the PEP 820 soft deprecations as 3.15, not `next` (python#157138) pythongh-152433: Use regular LoadLibrary in UWP for Windows system libs (pythonGH-156972) pythongh-121617: Fix Py_CLEAR() memcpy in C++: replace NULL with _Py_NULL (python#157188) pythongh-157135: Fix documentation errors in the `math.atan{2}pi` functions (python#157136) pythongh-121617: Fix Py_CLEAR() in C++: replace NULL with _Py_NULL (python#157067) pythongh-156774: Speed up pdb startup with asyncio guard (python#156775) pythongh-156109: Allow static, non-framework iOS builds (python#156110) pythongh-156780: Emscripten: add missing EM_JS_DEPS (python#156798) pythongh-152936: Make privileged functions available on Android (python#152977) pythongh-123018: Keep the libedit history file header when truncating (pythonGH-157165) ...
memcpy()usage without#include <string.h>inpwdmodule.c#121617