New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bpo-1635741: _ast uses PyModule_AddObjectRef() #23146
Conversation
Replace PyModule_AddObject() with PyModule_AddObjectRef() in the _ast module (Python-ast.c) to fix a reference leak on error.
Are you sure this is a reference leak? |
I was thinking about the error path, but you're right: my change doesn't fix any leak. I was confused by other code that I modified locally which have a bug (I didn't create PRs for them yet). I removed the mention about a leak in the commit message and I merged my PR. I prefer to use PyModule_AddObjectRef() because it looks really weird to be to decrement the refcount to immediately increment it. It would be dangerous if it would be a borrowed reference with a reference count of 1! (but it's not the case here) |
* master: bpo-42260: Add _PyInterpreterState_SetConfig() (pythonGH-23158) Disable peg generator tests when building with PGO (pythonGH-23141) bpo-1635741: _sqlite3 uses PyModule_AddObjectRef() (pythonGH-23148) bpo-1635741: Fix PyInit_pyexpat() error handling (pythonGH-22489) bpo-42260: Main init modify sys.flags in-place (pythonGH-23150) bpo-1635741: Fix ref leak in _PyWarnings_Init() error path (pythonGH-23151) bpo-1635741: _ast uses PyModule_AddObjectRef() (pythonGH-23146) bpo-1635741: _contextvars uses PyModule_AddType() (pythonGH-23147) bpo-42260: Reorganize PyConfig (pythonGH-23149) bpo-1635741: Add PyModule_AddObjectRef() function (pythonGH-23122) bpo-42236: os.device_encoding() respects UTF-8 Mode (pythonGH-23119) bpo-42251: Add gettrace and getprofile to threading (pythonGH-23125) Enable signing of nuget.org packages and update to supported timestamp server (pythonGH-23132) Fix incorrect links in ast docs (pythonGH-23017) Add _PyType_GetModuleByDef (pythonGH-22835) Post 3.10.0a2 bpo-41796: Call _PyAST_Fini() earlier to fix a leak (pythonGH-23131) bpo-42249: Fix writing binary Plist files larger than 4 GiB. (pythonGH-23121) bpo-40077: Convert mmap.mmap static type to a heap type (pythonGH-23108) Python 3.10.0a2
Replace PyModule_AddObject() with PyModule_AddObjectRef() in the _ast module (Python-ast.c).
Replace PyModule_AddObject() with PyModule_AddObjectRef() in the _ast
module (Python-ast.c) to fix a reference leak on error.
https://bugs.python.org/issue1635741