From 6e8b70e92c239a0201bff3ae21126388a8d9cc89 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Fri, 13 Feb 2026 10:14:14 +0100 Subject: [PATCH 1/3] Update checkuninitvar.cpp --- lib/checkuninitvar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/checkuninitvar.cpp b/lib/checkuninitvar.cpp index 014031259e4..d2e72e0c82f 100644 --- a/lib/checkuninitvar.cpp +++ b/lib/checkuninitvar.cpp @@ -1243,7 +1243,7 @@ const Token* CheckUninitVar::isVariableUsage(const Token *vartok, const Library& return nullptr; } if (alloc != NO_ALLOC) { - if (Token::Match(valueExpr->astParent(), "%comp%|%oror%|&&|?|!")) + if (Token::Match(valueExpr->astParent(), "%comp%|%oror%|&&|?|!|%")) return nullptr; if (Token::Match(valueExpr->astParent(), "%or%|&") && valueExpr->astParent()->isBinaryOp()) return nullptr; From 243ae08d5b51f0f833141a0cddfda526aafc8ae4 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Fri, 13 Feb 2026 10:17:10 +0100 Subject: [PATCH 2/3] Update testuninitvar.cpp --- test/testuninitvar.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index cf5bf42f635..0740c1611d6 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -2164,6 +2164,13 @@ class TestUninitVar : public TestFixture { " return p;\n" "}\n"); ASSERT_EQUALS("[test.cpp:5:9]: (error) Memory is allocated but not initialized: *p [uninitdata]\n", errout_str()); + + checkUninitVar("char* f(size_t nBytes, size_t nAlign) {\n" // #14485 + " char* p = reinterpret_cast(malloc(nBytes));\n" + " if ((uintptr_t)p % nAlign != 0) {}\n" + " return p;\n" + "}\n"); + ASSERT_EQUALS("", errout_str()); } // class / struct.. From f8777848aa20a1a4656ef56cf604fec50950cb42 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Fri, 13 Feb 2026 10:39:53 +0100 Subject: [PATCH 3/3] Update testuninitvar.cpp --- test/testuninitvar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testuninitvar.cpp b/test/testuninitvar.cpp index 0740c1611d6..15467db7971 100644 --- a/test/testuninitvar.cpp +++ b/test/testuninitvar.cpp @@ -2164,7 +2164,7 @@ class TestUninitVar : public TestFixture { " return p;\n" "}\n"); ASSERT_EQUALS("[test.cpp:5:9]: (error) Memory is allocated but not initialized: *p [uninitdata]\n", errout_str()); - + checkUninitVar("char* f(size_t nBytes, size_t nAlign) {\n" // #14485 " char* p = reinterpret_cast(malloc(nBytes));\n" " if ((uintptr_t)p % nAlign != 0) {}\n"