From 6486cc81277b9e7354202274f5a05eb8aac6ff1e Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 3 Nov 2016 15:27:30 +0100 Subject: [PATCH] ProjectExplorer: Fix possible use-after-free in Project combobox Make sure the combobox values are set to null. Otherwise the ComboBoxItem might try to read from that value while it is being removed from the model. Task-number: QTCREATORBUG-17223 Change-Id: I6588aaddf39736846878593a8e6844dab96de408 Reviewed-by: hjk --- src/plugins/projectexplorer/projectwindow.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 6dea76edd83..5efa9686ff3 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -347,7 +347,7 @@ public: QVariant data(int column, int role) const final { - return m_projectItem->data(column, role); + return m_projectItem ? m_projectItem->data(column, role) : QVariant(); } ProjectItem *m_projectItem; @@ -413,6 +413,7 @@ public: if (item->m_projectItem->parent()) m_projectsModel.takeItem(item->m_projectItem); delete item->m_projectItem; + item->m_projectItem = nullptr; m_comboBoxModel.destroyItem(item); }