Utils: Guard SelectionAspect value access against out-of-bounds access

Change-Id: I6ca414015cb55f06b7264949487fafc7eb57efd3
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
hjk
2023-05-11 14:14:00 +02:00
parent 67acfd7076
commit 268da290b2

View File

@@ -1712,12 +1712,14 @@ void SelectionAspect::setDefaultValue(const QString &val)
QString SelectionAspect::stringValue() const QString SelectionAspect::stringValue() const
{ {
return d->m_options.at(value()).displayName; const int idx = value();
return idx >= 0 && idx < d->m_options.size() ? d->m_options.at(idx).displayName : QString();
} }
QVariant SelectionAspect::itemValue() const QVariant SelectionAspect::itemValue() const
{ {
return d->m_options.at(value()).itemData; const int idx = value();
return idx >= 0 && idx < d->m_options.size() ? d->m_options.at(idx).itemData : QVariant();
} }
void SelectionAspect::addOption(const QString &displayName, const QString &toolTip) void SelectionAspect::addOption(const QString &displayName, const QString &toolTip)