File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -271,6 +271,7 @@ PyObject *PyCodec_Encoder(const char *encoding)
271271 if (codecs == NULL )
272272 goto onError ;
273273 v = PyTuple_GET_ITEM (codecs ,0 );
274+ Py_DECREF (codecs );
274275 Py_INCREF (v );
275276 return v ;
276277
@@ -287,6 +288,7 @@ PyObject *PyCodec_Decoder(const char *encoding)
287288 if (codecs == NULL )
288289 goto onError ;
289290 v = PyTuple_GET_ITEM (codecs ,1 );
291+ Py_DECREF (codecs );
290292 Py_INCREF (v );
291293 return v ;
292294
@@ -298,12 +300,14 @@ PyObject *PyCodec_StreamReader(const char *encoding,
298300 PyObject * stream ,
299301 const char * errors )
300302{
301- PyObject * codecs ;
303+ PyObject * codecs , * ret ;
302304
303305 codecs = _PyCodec_Lookup (encoding );
304306 if (codecs == NULL )
305307 goto onError ;
306- return build_stream_codec (PyTuple_GET_ITEM (codecs ,2 ),stream ,errors );
308+ ret = build_stream_codec (PyTuple_GET_ITEM (codecs ,2 ),stream ,errors );
309+ Py_DECREF (codecs );
310+ return ret ;
307311
308312 onError :
309313 return NULL ;
@@ -313,12 +317,14 @@ PyObject *PyCodec_StreamWriter(const char *encoding,
313317 PyObject * stream ,
314318 const char * errors )
315319{
316- PyObject * codecs ;
320+ PyObject * codecs , * ret ;
317321
318322 codecs = _PyCodec_Lookup (encoding );
319323 if (codecs == NULL )
320324 goto onError ;
321- return build_stream_codec (PyTuple_GET_ITEM (codecs ,3 ),stream ,errors );
325+ ret = build_stream_codec (PyTuple_GET_ITEM (codecs ,3 ),stream ,errors );
326+ Py_DECREF (codecs );
327+ return ret ;
322328
323329 onError :
324330 return NULL ;
You can’t perform that action at this time.
0 commit comments