diff options
author | Andreas Buhr <andreas.buhr@qt.io> | 2021-01-06 11:14:56 +0100 |
---|---|---|
committer | Andreas Buhr <andreas.buhr@qt.io> | 2021-01-07 10:41:37 +0100 |
commit | c6b6bb5653691125a6e17287077be7d81c919369 (patch) | |
tree | 46dfe4bc9c51be899162d5f708a52ba4c250fb37 /src/corelib/kernel/qobject.cpp | |
parent | 340f777e01accae71c48a6de3acc1006fa4511a3 (diff) |
Fix segmentation fault in QObject::dumpObjectInfo
There was a check "if (cd && cd->signalVectorCount())" in the code
which was faulty because "signalVectorCount()" could return -1 to
indicate that no signalVector is available. This patch fixes
the problem.
Fixes: QTBUG-89846
Change-Id: I12c512ff8d889ba2bd298789ab6081930f739089
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 6a664d0660911173c7e85c60b9af195a0ef4f110)
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
-rw-r--r-- | src/corelib/kernel/qobject.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 69f57efb46..68082910dc 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -4131,7 +4131,7 @@ void QObject::dumpObjectInfo() const qDebug(" SIGNALS OUT"); QObjectPrivate::ConnectionData *cd = d->connections.loadRelaxed(); - if (cd && cd->signalVectorCount()) { + if (cd && cd->signalVectorCount() > 0) { QObjectPrivate::SignalVector *signalVector = cd->signalVector.loadRelaxed(); for (int signal_index = 0; signal_index < signalVector->count(); ++signal_index) { const QObjectPrivate::Connection *c = signalVector->at(signal_index).first.loadRelaxed(); |