From b8ed93605da50033d1a5cee65d175d367381c89a Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 13 Nov 2018 13:20:16 +0100 Subject: [PATCH] Fix scan coverity issues: CID 184299: Null pointer dereferences (FORWARD_NULL) CID 184297: Error handling issues (UNCAUGHT_EXCEPT) CID 184296: Uninitialized members (UNINIT_CTOR) CID 184292: Uninitialized members (UNINIT_CTOR) --- src/Mod/Drawing/Gui/TaskOrthoViews.cpp | 6 +++++- src/Mod/Path/libarea/Adaptive.cpp | 7 ++++++- src/Mod/Spreadsheet/Gui/SheetTableView.cpp | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp index 385dce60bb..e1c90e27a4 100644 --- a/src/Mod/Drawing/Gui/TaskOrthoViews.cpp +++ b/src/Mod/Drawing/Gui/TaskOrthoViews.cpp @@ -314,7 +314,11 @@ OrthoViews::~OrthoViews() for (int i = views.size() - 1; i >= 0; i--) delete views[i]; - page->recomputeFeature(); + try { + page->recomputeFeature(); + } + catch (...) { + } } void OrthoViews::slotDeletedDocument(const App::Document& Obj) diff --git a/src/Mod/Path/libarea/Adaptive.cpp b/src/Mod/Path/libarea/Adaptive.cpp index 4859bcd620..1043373246 100644 --- a/src/Mod/Path/libarea/Adaptive.cpp +++ b/src/Mod/Path/libarea/Adaptive.cpp @@ -155,6 +155,10 @@ class BoundBox public: BoundBox() { + minX = 0; + maxX = 0; + minY = 0; + maxY = 0; } // generic: first point @@ -407,7 +411,7 @@ void CleanPath(const Path &inp, Path &outpt, double tolerance) long index; for (long i = 0; i < size; i++) { - index = clpSegmentIndex + i; + index = static_cast(clpSegmentIndex + i); if (index >= size) index -= size; outpt.push_back(tmp.at(index)); } @@ -842,6 +846,7 @@ class PerfCounter name = p_name; count = 0; running = false; + start_ticks = 0; total_ticks = 0; } inline void Start() diff --git a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp index 2443fb9d0c..5a3913234f 100644 --- a/src/Mod/Spreadsheet/Gui/SheetTableView.cpp +++ b/src/Mod/Spreadsheet/Gui/SheetTableView.cpp @@ -347,7 +347,7 @@ bool SheetTableView::event(QEvent *event) return true; } } - else if (event->type() == QEvent::ShortcutOverride) { + else if (event && event->type() == QEvent::ShortcutOverride) { QKeyEvent * kevent = static_cast(event); if (kevent->modifiers() == Qt::NoModifier || kevent->modifiers() == Qt::ShiftModifier ||