From d98337b5f22fa7d4aa606446b1c23e05ec1a4dde Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 17 Aug 2016 15:33:04 +0200 Subject: [PATCH] Coverity: fix high impact issues --- src/Main/MainCmd.cpp | 8 ++++++-- src/Main/MainPy.cpp | 1 + src/Mod/Drawing/App/FeatureViewSpreadsheet.cpp | 2 +- src/Mod/Fem/App/AppFemPy.cpp | 6 ++---- src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp | 2 +- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 2 +- 6 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/Main/MainCmd.cpp b/src/Main/MainCmd.cpp index 397e07c84af0..e6c24e626593 100644 --- a/src/Main/MainCmd.cpp +++ b/src/Main/MainCmd.cpp @@ -138,8 +138,12 @@ int main( int argc, char ** argv ) // Destruction phase =========================================================== Console().Log("FreeCAD terminating...\n"); - // close open documents - App::GetApplication().closeAllDocuments(); + try { + // close open documents + App::GetApplication().closeAllDocuments(); + } + catch(...) { + } // cleans up Application::destruct(); diff --git a/src/Main/MainPy.cpp b/src/Main/MainPy.cpp index 041e0763cb68..23483444eeb7 100644 --- a/src/Main/MainPy.cpp +++ b/src/Main/MainPy.cpp @@ -118,6 +118,7 @@ extern "C" Dl_info info; int ret = dladdr((void*)initFreeCAD, &info); if ((ret == 0) || (!info.dli_fname)) { + free(argv); PyErr_SetString(PyExc_ImportError, "Cannot get path of the FreeCAD module!"); return; } diff --git a/src/Mod/Drawing/App/FeatureViewSpreadsheet.cpp b/src/Mod/Drawing/App/FeatureViewSpreadsheet.cpp index 1cb6e5488a94..55800d8ce65a 100644 --- a/src/Mod/Drawing/App/FeatureViewSpreadsheet.cpp +++ b/src/Mod/Drawing/App/FeatureViewSpreadsheet.cpp @@ -180,7 +180,7 @@ App::DocumentObjectExecReturn *FeatureViewSpreadsheet::execute(void) celltext = field.str(); } // get colors, style, alignment and span - int alignment; + int alignment = 0; std::string bcolor = "none"; std::string fcolor = "#" + hr.str() + hg.str() + hb.str(); std::string textstyle = ""; diff --git a/src/Mod/Fem/App/AppFemPy.cpp b/src/Mod/Fem/App/AppFemPy.cpp index d7d41683b48c..b70accc039d9 100644 --- a/src/Mod/Fem/App/AppFemPy.cpp +++ b/src/Mod/Fem/App/AppFemPy.cpp @@ -140,8 +140,7 @@ class Module : public Py::ExtensionModule FemMeshObject *pcFeature = static_cast (pcDoc->addObject("Fem::FemMeshObject", file.fileNamePure().c_str())); pcFeature->Label.setValue(file.fileNamePure().c_str()); - pcFeature->FemMesh.setValuePtr(mesh.get()); - (void)mesh.release(); + pcFeature->FemMesh.setValuePtr(mesh.release()); pcFeature->purgeTouched(); return Py::None(); @@ -175,8 +174,7 @@ class Module : public Py::ExtensionModule FemMeshObject *pcFeature = static_cast (pcDoc->addObject("Fem::FemMeshObject", file.fileNamePure().c_str())); pcFeature->Label.setValue(file.fileNamePure().c_str()); - pcFeature->FemMesh.setValuePtr(mesh.get()); - (void)mesh.release(); + pcFeature->FemMesh.setValuePtr(mesh.release()); pcFeature->purgeTouched(); } catch(Base::Exception& e) { diff --git a/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp b/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp index 0b0d032557bf..2e3af74056ad 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderPrimitive.cpp @@ -56,7 +56,7 @@ PROPERTY_SOURCE(PartDesignGui::ViewProviderPrimitive,PartDesignGui::ViewProvider ViewProviderPrimitive::ViewProviderPrimitive() { - + previewFaceSet = 0; } ViewProviderPrimitive::~ViewProviderPrimitive() diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 6002b71fdaf3..4de8ec6c5c9d 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -2698,7 +2698,7 @@ void ViewProviderSketch::drawMergedConstraintIcons(IconQueue iconQueue) // Tracks all constraint IDs that are combined into this icon QString idString; - int lastVPad; + int lastVPad = 0; QStringList labels; std::vector ids;