QAbstractButton: don't access nullptr in queryButtonList()

When a button has no parent, QAbstractButtonPrivate::queryButtonList()
unconditionally accessed parent which results in a nullptr access. Did
not crash because qt_qFindChildren_helper checks for nullptr and
therefore could only be found with a sanitizer.

Fixes: QTBUG-83865
Change-Id: I591e546e96acba50770935b9c3baaf08b09b833d
Reviewed-by: Samuel Gaist <samuel.gaist@idiap.ch>
(cherry picked from commit f0818f6ed8a616dcc94785637039ac21468ef311)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Christian Ehrlicher 2021-01-01 11:27:10 +01:00 committed by Qt Cherry-pick Bot
parent d80faf24d7
commit d356876a73

View File

@ -190,7 +190,9 @@ QList<QAbstractButton *>QAbstractButtonPrivate::queryButtonList() const
return group->d_func()->buttonList;
#endif
QList<QAbstractButton*>candidates = parent->findChildren<QAbstractButton *>();
if (!parent)
return {};
QList<QAbstractButton *> candidates = parent->findChildren<QAbstractButton *>();
if (autoExclusive) {
auto isNoMemberOfMyAutoExclusiveGroup = [](QAbstractButton *candidate) {
return !candidate->autoExclusive()