From 8694c6955831dc9ae604a55506689e86779798f5 Mon Sep 17 00:00:00 2001 From: firewave Date: Mon, 27 Jan 2025 13:10:53 +0100 Subject: [PATCH] Token: added special handling for `ValueFlow::Value::ValueType::INT` in `getKnownValue()` --- lib/token.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/token.cpp b/lib/token.cpp index de44662fd653..d2e93752863e 100644 --- a/lib/token.cpp +++ b/lib/token.cpp @@ -2534,6 +2534,15 @@ const ValueFlow::Value* Token::getKnownValue(ValueFlow::Value::ValueType t) cons { if (!mImpl->mValues) return nullptr; + if (mImpl->mValues->empty()) + return nullptr; + // known INT values are always the first entry + if (t == ValueFlow::Value::ValueType::INT) { + const auto& v = mImpl->mValues->front(); + if (!v.isKnown() || !v.isIntValue()) + return nullptr; + return &v; + } auto it = std::find_if(mImpl->mValues->begin(), mImpl->mValues->end(), [&](const ValueFlow::Value& value) { return value.isKnown() && value.valueType == t; });