From 268da290b2f178eeceff50e41c9fba3f927ad4a4 Mon Sep 17 00:00:00 2001 From: hjk Date: Thu, 11 May 2023 14:14:00 +0200 Subject: [PATCH] Utils: Guard SelectionAspect value access against out-of-bounds access Change-Id: I6ca414015cb55f06b7264949487fafc7eb57efd3 Reviewed-by: Alessandro Portale --- src/libs/utils/aspects.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index b73f1481a59..21c221dc5f3 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -1712,12 +1712,14 @@ void SelectionAspect::setDefaultValue(const QString &val) 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 { - 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)