hardening delete operator

Make sure that delete operator is not called with invalid pointers.

Change-Id: I822b670c63bd40234aef0213517914fdcc7b68e9
Reviewed-by: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com>
diff --git a/src/accountsecuritytab.cpp b/src/accountsecuritytab.cpp
index d298aaa..e3a23f0 100644
--- a/src/accountsecuritytab.cpp
+++ b/src/accountsecuritytab.cpp
@@ -109,7 +109,10 @@
     AccountSecurityTab *view = ACCOUNT_SECURITY_TAB(object);
     AccountSecurityTabPrivate *priv = ACCOUNT_SECURITY_TAB_GET_PRIVATE(view);
 
-    delete priv->qmodel_key_exchange;
+    if (priv->qmodel_key_exchange) {
+        delete priv->qmodel_key_exchange;
+        priv->qmodel_key_exchange = nullptr;
+    }
 
     G_OBJECT_CLASS(account_security_tab_parent_class)->finalize(object);
 }
diff --git a/src/choosecontactview.cpp b/src/choosecontactview.cpp
index 31f3faf..9179223 100644
--- a/src/choosecontactview.cpp
+++ b/src/choosecontactview.cpp
@@ -180,7 +180,10 @@
     ChooseContactView *self = CHOOSE_CONTACT_VIEW(object);
     ChooseContactViewPrivate *priv = CHOOSE_CONTACT_VIEW_GET_PRIVATE(self);
 
-    delete priv->sorted_contacts;
+    if (priv->sorted_contacts) {
+        delete priv->sorted_contacts;
+        priv->sorted_contacts = nullptr;
+    }
 
     G_OBJECT_CLASS(choose_contact_view_parent_class)->finalize(object);
 }
diff --git a/src/models/gtkqtreemodel.cpp b/src/models/gtkqtreemodel.cpp
index 7a8574c..25eacdc 100644
--- a/src/models/gtkqtreemodel.cpp
+++ b/src/models/gtkqtreemodel.cpp
@@ -673,7 +673,10 @@
     g_free(priv->column_roles);
 
     /* delete the created proxy model */
-    delete priv->model;
+    if (not priv->model) {
+        delete priv->model;
+        priv->model = nullptr;
+    }
 
     G_OBJECT_CLASS(gtk_q_tree_model_parent_class)->finalize (object);
 }
diff --git a/src/ring_client.cpp b/src/ring_client.cpp
index cbb8457..83759fe 100644
--- a/src/ring_client.cpp
+++ b/src/ring_client.cpp
@@ -751,7 +751,10 @@
 
     /* free the QCoreApplication, which will destroy all libRingClient models
      * and thus send the Unregister signal over dbus to dring */
-    delete priv->qtapp;
+    if (priv->qtapp) {
+        delete priv->qtapp;
+        priv->qtapp = nullptr;
+    }
 
     /* free the copied cmd line args */
     g_strfreev(priv->argv);
diff --git a/src/ringnotify.cpp b/src/ringnotify.cpp
index 56a56e8..8a3b8b0 100644
--- a/src/ringnotify.cpp
+++ b/src/ringnotify.cpp
@@ -376,7 +376,10 @@
 static void
 delete_idx(QModelIndex *idx)
 {
-    delete idx;
+    if (idx) {
+        delete idx;
+        idx = nullptr;
+    }
 }
 
 #endif