ALT Linux repositórios
Group :: Jogos/Enigmas
RPM: kiki
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: kiki-1.0.2-debian-dont-leak-python-results.patch
Download
Download
Some Python objects were leaked.
Peter De Wachter (pdewacht@gmail.com)
placed in the public domain
Status: in upstream CVS
--- a/src/base/KikiPyAction.cpp
+++ b/src/base/KikiPyAction.cpp
@@ -64,7 +64,12 @@
{
if (PyObject_TypeCheck(python_object, &PyInstance_Type))
{
- if (PyObject_CallMethod(python_object, const_cast<char*>("finishAction"), const_cast<char*>("s"), action_name.c_str()) == NULL)
+ PyObject * result = PyObject_CallMethod(python_object, const_cast<char*>("finishAction"), const_cast<char*>("s"), action_name.c_str());
+ if (result)
+ {
+ Py_DECREF(result);
+ }
+ else
{
KConsole::printError("KikiPyAction::finish failed");
}
@@ -76,7 +81,12 @@
{
if (PyObject_TypeCheck(python_object, &PyInstance_Type))
{
- if (PyObject_CallMethod(python_object, const_cast<char*>("actionFinished"), const_cast<char*>("s"), action_name.c_str()) == NULL)
+ PyObject * result = PyObject_CallMethod(python_object, const_cast<char*>("actionFinished"), const_cast<char*>("s"), action_name.c_str());
+ if (result)
+ {
+ Py_DECREF(result);
+ }
+ else
{
KConsole::printError("KikiPyAction::finished failed");
}