Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.0.0, 5.0.2, 5.1.0
-
None
-
e4fc75edaedead3092aace3a29a0aafdd0e86a77
Description
I found an unguarded pointer access in QQuickVisualDataModelPrivate::incubatorStatusChanged:
diff --git a/src/quick/items/qquickvisualdatamodel.cpp b/src/quick/items/qquickvisualdatamodel.cpp
index a297ec9..9de7922 100644
— a/src/quick/items/qquickvisualdatamodel.cpp
+++ b/src/quick/items/qquickvisualdatamodel.cpp
@@ -817,7 +817,9 @@ void QQuickVisualDataModelPrivate::incubatorStatusChanged(QVDMIncubationTask *in
delete cacheItem->object;
cacheItem->object = 0;
cacheItem->scriptRef -= 1;
- cacheItem->contextData->destroy();
+ if (cacheItem->contextData != 0)
+ cacheItem->contextData->destroy();
cacheItem->contextData = 0;
if (!cacheItem->isReferenced()) {
removeCacheItem(cacheItem);