Fix coverity issue:

* CID 332682: Resource leak
* CID 350607: Resource leak
* CID 332677: Resource leak
This commit is contained in:
wmayer
2022-03-14 11:35:04 +01:00
parent 56eab3f08b
commit 0054cbddaa
51 changed files with 70 additions and 54 deletions

View File

@@ -315,7 +315,7 @@ Application::Application(std::map<std::string,std::string> &mConfig)
PyModule_AddObject(pAppModule, "Console", pConsoleModule);
// Translate module
PyObject* pTranslateModule = (new Base::Translate)->module().ptr();
PyObject* pTranslateModule = Base::Interpreter().addModule(new Base::Translate);
Py_INCREF(pTranslateModule);
PyModule_AddObject(pAppModule, "Qt", pTranslateModule);

View File

@@ -409,8 +409,7 @@ Application::Application(bool GUIenabled)
PyResource::init_type();
// PySide additions
PySideUicModule* pySide = new PySideUicModule();
PyModule_AddObject(module, "PySideUic", pySide->module().ptr());
PyModule_AddObject(module, "PySideUic", Base::Interpreter().addModule(new PySideUicModule));
ExpressionBindingPy::init_type();
Base::Interpreter().addType(ExpressionBindingPy::type_object(),

View File

@@ -103,8 +103,7 @@ void PythonDebugModule::init_module(void)
PythonDebugStdout::init_type();
PythonDebugStderr::init_type();
PythonDebugExcept::init_type();
static PythonDebugModule* mod = new PythonDebugModule();
Q_UNUSED(mod);
Base::Interpreter().addModule(new PythonDebugModule);
}
PythonDebugModule::PythonDebugModule()
@@ -130,6 +129,9 @@ PythonDebugModule::PythonDebugModule()
PythonDebugModule::~PythonDebugModule()
{
Py::Dict d(moduleDictionary());
d["StdOut"] = Py::None();
d["StdErr"] = Py::None();
}
Py::Object PythonDebugModule::getFunctionCallCount(const Py::Tuple &)

View File

@@ -20,6 +20,7 @@
* *
***************************************************************************/
#include <Base/Interpreter.h>
#include <Base/Writer.h>
#include <Base/Reader.h>
#include <Base/Base64.h>
@@ -176,7 +177,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}

View File

@@ -27,6 +27,7 @@
#endif
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <Gui/Application.h>
@@ -55,7 +56,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace CloudGui

View File

@@ -94,7 +94,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace DraftUtils

View File

@@ -323,7 +323,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Drawing

View File

@@ -217,7 +217,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace DrawingGui

View File

@@ -317,7 +317,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Fem

View File

@@ -153,7 +153,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace FemGui

View File

@@ -18,6 +18,7 @@
#include <CXX/Objects.hxx>
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include "ImagePlane.h"
@@ -38,7 +39,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Image

View File

@@ -35,6 +35,7 @@
#include <Base/Console.h>
#include <Base/Exception.h>
#include <Base/FileInfo.h>
#include <Base/Interpreter.h>
#include <App/Application.h>
#include <Gui/MainWindow.h>
#include <Gui/BitmapFactory.h>
@@ -106,7 +107,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace ImageGui

View File

@@ -780,7 +780,7 @@ static PyObject * importAssembly(PyObject *self, PyObject *args)
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Import

View File

@@ -827,7 +827,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace ImportGui

View File

@@ -50,7 +50,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Inspection

View File

@@ -30,6 +30,7 @@
#include <CXX/Objects.hxx>
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <Gui/Application.h>
@@ -56,7 +57,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace InspectionGui

View File

@@ -48,7 +48,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Measure

View File

@@ -592,7 +592,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Mesh

View File

@@ -118,7 +118,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace MeshGui

View File

@@ -34,6 +34,7 @@
#include <Base/Console.h>
#include <Base/Vector3D.h>
#include <Base/Converter.h>
#include <Base/Interpreter.h>
#include <Base/VectorPy.h>
#include <Base/GeometryPyCXX.h>
#include <Mod/Part/App/TopoShapePy.h>
@@ -637,7 +638,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace MeshPart

View File

@@ -30,6 +30,7 @@
#include <CXX/Objects.hxx>
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <Gui/Application.h>
#include <Gui/Language/Translator.h>
@@ -62,7 +63,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace MeshPartGui

View File

@@ -2264,7 +2264,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Part

View File

@@ -92,7 +92,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);;
}
} // namespace PartGui

View File

@@ -28,6 +28,7 @@
#endif
#include <Base/GeometryPyCXX.h>
#include <Base/Interpreter.h>
#include <Base/VectorPy.h>
#include <Base/Tools.h>
@@ -113,7 +114,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace PartDesign

View File

@@ -94,7 +94,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace PartDesignGui

View File

@@ -430,7 +430,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Path

View File

@@ -34,6 +34,7 @@
#include <Base/Console.h>
#include <Base/VectorPy.h>
#include <Base/FileInfo.h>
#include <Base/Interpreter.h>
#include <App/Application.h>
#include <App/Document.h>
@@ -287,7 +288,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace PathGui

View File

@@ -53,7 +53,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}

View File

@@ -414,7 +414,7 @@ private:
PyObject* initModule()
{
return (new Module())->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Points

View File

@@ -64,7 +64,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace PointsGui

View File

@@ -31,6 +31,7 @@
#include <CXX/Objects.hxx>
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include "PovTools.h"
#include "LuxTools.h"
// automatically generated.....
@@ -244,7 +245,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Raytracing

View File

@@ -249,7 +249,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace RaytracingGui

View File

@@ -824,7 +824,7 @@ Points.show(np)
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Reen

View File

@@ -62,7 +62,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace ReverseEngineeringGui

View File

@@ -88,7 +88,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Robot
@@ -106,7 +106,7 @@ PyMOD_INIT_FUNC(Robot)
PyMOD_Return(0);
}
PyObject* robotModule = (new Robot::Module())->module().ptr();
PyObject* robotModule = Robot::initModule();
Base::Console().Log("Loading Robot module... done\n");
// Add Types to module

View File

@@ -70,7 +70,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace RobotGui

View File

@@ -122,7 +122,7 @@ private:
/// @cond DOXERR
PyObject* initModule()
{
return (new Module())->module().ptr();
return Base::Interpreter().addModule(new Module);
}
/// @endcond

View File

@@ -79,7 +79,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace SketcherGui

View File

@@ -19,6 +19,7 @@
#include <CXX/Objects.hxx>
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include "Sheet.h"
@@ -38,7 +39,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Spreadsheet

View File

@@ -36,6 +36,7 @@
#include <Base/Console.h>
#include <Base/Exception.h>
#include <Base/FileInfo.h>
#include <Base/Interpreter.h>
#include <App/Application.h>
#include <App/Document.h>
#include <Gui/MainWindow.h>
@@ -101,7 +102,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace SpreadsheetGui

View File

@@ -50,7 +50,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Start

View File

@@ -68,7 +68,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace StartGui

View File

@@ -55,7 +55,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Surface

View File

@@ -59,7 +59,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace SurfaceGui

View File

@@ -1228,7 +1228,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace TechDraw

View File

@@ -365,7 +365,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace TechDrawGui

View File

@@ -31,6 +31,7 @@
#include <Gui/Language/Translator.h>
#include <Base/Console.h>
#include <Base/Interpreter.h>
namespace TestGui {
class Module : public Py::ExtensionModule<Module>
@@ -85,7 +86,7 @@ private:
PyObject* initModule()
{
return (new Module())->module().ptr();
return Base::Interpreter().addModule(new Module);
}
}

View File

@@ -171,7 +171,7 @@ private:
PyObject* initModule()
{
return (new Module())->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace Web

View File

@@ -152,7 +152,7 @@ private:
PyObject* initModule()
{
return (new Module())->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace WebGui

View File

@@ -27,6 +27,7 @@
#endif
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <CXX/Extensions.hxx>
@@ -49,7 +50,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}

View File

@@ -27,6 +27,7 @@
#endif
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
#include <Gui/Application.h>
@@ -55,7 +56,7 @@ private:
PyObject* initModule()
{
return (new Module)->module().ptr();
return Base::Interpreter().addModule(new Module);
}
} // namespace _TEMPLATE_Gui