From 814f96fdad0e5e0844a84a133912c63637749d2c Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:46:06 +0200 Subject: [PATCH 1/2] Update astutils.cpp --- lib/astutils.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/astutils.cpp b/lib/astutils.cpp index 67d89898239..c0e598bd790 100644 --- a/lib/astutils.cpp +++ b/lib/astutils.cpp @@ -3417,7 +3417,7 @@ static ExprUsage getFunctionUsage(const Token* tok, int indirect, const Settings // variable init/constructor call? if (!func && ftok->variable() && ftok == ftok->variable()->nameToken()) { // STL types or containers don't initialize external variables - if (ftok->variable()->isStlType() || (ftok->variable()->valueType() && ftok->variable()->valueType()->container)) + if (indirect == 0 && (ftok->variable()->isStlType() || (ftok->variable()->valueType() && ftok->variable()->valueType()->container))) return ExprUsage::Used; // TODO: resolve multiple constructors if (ftok->variable()->type() && ftok->variable()->type()->classScope) { From e7dd72cb98034f5362f3cd85598abf8bce804dec Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Thu, 9 Apr 2026 15:48:34 +0200 Subject: [PATCH 2/2] Update testuninitvar.cpp --- test/testuninitvar.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index e61579f8024..d04f3c62e8e 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -7784,6 +7784,13 @@ class TestUninitVar : public TestFixture { " *s.p = 0;\n" "}\n"); ASSERT_EQUALS("", errout_str()); + + valueFlowUninit("void f() {\n" + " int x;\n" + " std::vector v{ &x };\n" + " *v[0] = 0;\n" + "}\n"); + ASSERT_EQUALS("", errout_str()); } void valueFlowUninitForLoop()