470470_PyImport_FixupExtensionObject (PyObject * mod , PyObject * name ,
471471 PyObject * filename )
472472{
473- PyObject * modules , * dict , * filename_name ;
473+ PyObject * modules , * dict , * key ;
474474 struct PyModuleDef * def ;
475+ int res ;
475476 if (extensions == NULL ) {
476477 extensions = PyDict_New ();
477478 if (extensions == NULL )
@@ -508,10 +509,12 @@ _PyImport_FixupExtensionObject(PyObject *mod, PyObject *name,
508509 if (def -> m_base .m_copy == NULL )
509510 return -1 ;
510511 }
511- filename_name = PyTuple_Pack (2 ,filename , name );
512- if (filename_name == NULL )
512+ key = PyTuple_Pack (2 , filename , name );
513+ if (key == NULL )
513514 return -1 ;
514- if (PyDict_SetItem (extensions , filename_name , (PyObject * )def ) < 0 )
515+ res = PyDict_SetItem (extensions , key , (PyObject * )def );
516+ Py_DECREF (key );
517+ if (res < 0 )
515518 return -1 ;
516519 return 0 ;
517520}
@@ -532,14 +535,15 @@ _PyImport_FixupBuiltin(PyObject *mod, char *name)
532535PyObject *
533536_PyImport_FindExtensionObject (PyObject * name , PyObject * filename )
534537{
535- PyObject * mod , * mdict , * filename_name ;
538+ PyObject * mod , * mdict , * key ;
536539 PyModuleDef * def ;
537540 if (extensions == NULL )
538541 return NULL ;
539- filename_name = PyTuple_Pack (2 ,filename , name );
540- if (filename_name == NULL )
542+ key = PyTuple_Pack (2 , filename , name );
543+ if (key == NULL )
541544 return NULL ;
542- def = (PyModuleDef * )PyDict_GetItem (extensions , filename_name );
545+ def = (PyModuleDef * )PyDict_GetItem (extensions , key );
546+ Py_DECREF (key );
543547 if (def == NULL )
544548 return NULL ;
545549 if (def -> m_size == -1 ) {
0 commit comments