summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2021-03-03 17:16:37 +0100
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2021-03-03 23:41:25 +0100
commit6e334a85a82f1fedc39f54511a9d1b0c7b512d5b (patch)
tree67f9812f41c74d2781da829d57a7112eb28c1e31 /src/network
parent90b51219ddc75c4dd2d171f2dba644e67d1e4a62 (diff)
QHostInfo: simplify assignment operator
The d_ptr is never nullptr. If it could be, then other's d_ptr could also be nullptr, and we would dereference the null pointer. Guarding against self-assignment is nevertheless a good practice. Fixes static analyzer warning 5fc3780532e30c6350a0aa1ad2188a4c. Pick-to: 6.1 Change-Id: I07ff808e4c4f5bf07b4d6663f1fb4a3301a0fec7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/network')
-rw-r--r--src/network/kernel/qhostinfo.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/network/kernel/qhostinfo.cpp b/src/network/kernel/qhostinfo.cpp
index b3d6844e43..fbc3248815 100644
--- a/src/network/kernel/qhostinfo.cpp
+++ b/src/network/kernel/qhostinfo.cpp
@@ -609,10 +609,11 @@ QHostInfo::QHostInfo(const QHostInfo &other)
*/
QHostInfo &QHostInfo::operator=(const QHostInfo &other)
{
- if (d_ptr)
- *d_ptr = *other.d_ptr;
- else
- d_ptr = new QHostInfoPrivate(*other.d_ptr);
+ if (this == &other)
+ return *this;
+
+ Q_ASSERT(d_ptr && other.d_ptr);
+ *d_ptr = *other.d_ptr;
return *this;
}