summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2021-03-01 11:31:11 +0100
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-03-05 11:14:19 +0000
commitd12df462c3fa54afc4daff0e151106e2d42f98d5 (patch)
tree82ad2798df5505709825e3f6ed488e4e4920cbfc /src
parent5a72db7562aaf9c7b009f4edf49858409c41cd40 (diff)
Protect against self-assignment, plug potential memory leak
Fixes static analyzer warning f03d95823e9f1395d64501cc111f0f63 As a drive-by, plug the potential memory leak if the assigned-to QDockAreaLayoutItem already holds a QDockAreaLayoutInfo object. The subinfo is deleted in the destructor, QDockAreaLayoutItem has ownership for the subinfo. Change-Id: I8546adc6fb0537078eea9dfb45d1bd9967d8d149 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io> (cherry picked from commit 3ae09debab67eecc48721481b76fa11a9f9a383c) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src')
-rw-r--r--src/widgets/widgets/qdockarealayout.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
index 2654341505..7776ae6613 100644
--- a/src/widgets/widgets/qdockarealayout.cpp
+++ b/src/widgets/widgets/qdockarealayout.cpp
@@ -182,7 +182,11 @@ QSize QDockAreaLayoutItem::sizeHint() const
QDockAreaLayoutItem
&QDockAreaLayoutItem::operator = (const QDockAreaLayoutItem &other)
{
+ if (this == &other)
+ return *this;
+
widgetItem = other.widgetItem;
+ delete subinfo;
if (other.subinfo == nullptr)
subinfo = nullptr;
else