File tree Expand file tree Collapse file tree 3 files changed +6
-3
lines changed
Misc/NEWS.d/next/Core and Builtins Expand file tree Collapse file tree 3 files changed +6
-3
lines changed Original file line number Diff line number Diff line change
1
+ Fix memory leak in ``memoryview `` iterator as it was not finalized at exit. Patch by Kumar Aditya.
Original file line number Diff line number Diff line change @@ -3156,7 +3156,7 @@ static PyMethodDef memory_methods[] = {
3156
3156
/* Memoryview Iterator */
3157
3157
/**************************************************************************/
3158
3158
3159
- static PyTypeObject PyMemoryIter_Type ;
3159
+ PyTypeObject _PyMemoryIter_Type ;
3160
3160
3161
3161
typedef struct {
3162
3162
PyObject_HEAD
@@ -3233,7 +3233,7 @@ memory_iter(PyObject *seq)
3233
3233
}
3234
3234
3235
3235
memoryiterobject * it ;
3236
- it = PyObject_GC_New (memoryiterobject , & PyMemoryIter_Type );
3236
+ it = PyObject_GC_New (memoryiterobject , & _PyMemoryIter_Type );
3237
3237
if (it == NULL ) {
3238
3238
return NULL ;
3239
3239
}
@@ -3246,7 +3246,7 @@ memory_iter(PyObject *seq)
3246
3246
return (PyObject * )it ;
3247
3247
}
3248
3248
3249
- static PyTypeObject PyMemoryIter_Type = {
3249
+ PyTypeObject _PyMemoryIter_Type = {
3250
3250
PyVarObject_HEAD_INIT (& PyType_Type , 0 )
3251
3251
.tp_name = "memory_iterator" ,
3252
3252
.tp_basicsize = sizeof (memoryiterobject ),
Original file line number Diff line number Diff line change @@ -1845,6 +1845,7 @@ _PyTypes_InitState(PyInterpreterState *interp)
1845
1845
extern PyTypeObject PyHKEY_Type ;
1846
1846
#endif
1847
1847
extern PyTypeObject _Py_GenericAliasIterType ;
1848
+ extern PyTypeObject _PyMemoryIter_Type ;
1848
1849
1849
1850
static PyTypeObject * static_types [] = {
1850
1851
// The two most important base types: must be initialized first and
@@ -1944,6 +1945,7 @@ static PyTypeObject* static_types[] = {
1944
1945
& _PyHamt_Type ,
1945
1946
& _PyInterpreterID_Type ,
1946
1947
& _PyManagedBuffer_Type ,
1948
+ & _PyMemoryIter_Type ,
1947
1949
& _PyMethodWrapper_Type ,
1948
1950
& _PyNamespace_Type ,
1949
1951
& _PyNone_Type ,
You can’t perform that action at this time.
0 commit comments