@@ -118,7 +118,7 @@ PyObject _Py_EllipsisObject = _PyObject_HEAD_INIT(&PyEllipsis_Type);
118118*/
119119
120120static PySliceObject *
121- _PyBuildSlice_Consume2 (PyObject * start , PyObject * stop , PyObject * step )
121+ _PyBuildSlice_Consume3 (PyObject * start , PyObject * stop , PyObject * step )
122122{
123123 assert (start != NULL && stop != NULL && step != NULL );
124124 PySliceObject * obj = _Py_FREELIST_POP (PySliceObject , slices );
@@ -131,13 +131,14 @@ _PyBuildSlice_Consume2(PyObject *start, PyObject *stop, PyObject *step)
131131
132132 obj -> start = start ;
133133 obj -> stop = stop ;
134- obj -> step = Py_NewRef ( step ) ;
134+ obj -> step = step ;
135135
136136 _PyObject_GC_TRACK (obj );
137137 return obj ;
138138error :
139139 Py_DECREF (start );
140140 Py_DECREF (stop );
141+ Py_DECREF (step );
141142 return NULL ;
142143}
143144
@@ -153,15 +154,15 @@ PySlice_New(PyObject *start, PyObject *stop, PyObject *step)
153154 if (stop == NULL ) {
154155 stop = Py_None ;
155156 }
156- return (PyObject * )_PyBuildSlice_Consume2 (Py_NewRef (start ),
157- Py_NewRef (stop ), step );
157+ return (PyObject * )_PyBuildSlice_Consume3 (Py_NewRef (start ),
158+ Py_NewRef (stop ), Py_NewRef ( step ) );
158159}
159160
160161PyObject *
161162_PyBuildSlice_ConsumeRefs (PyObject * start , PyObject * stop )
162163{
163164 assert (start != NULL && stop != NULL );
164- return (PyObject * )_PyBuildSlice_Consume2 (start , stop , Py_None );
165+ return (PyObject * )_PyBuildSlice_Consume3 (start , stop , Py_None );
165166}
166167
167168PyObject *
0 commit comments