From 0fe3a5fd970bdf8c082394222f49c7288e5c22f6 Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Wed, 20 May 2026 10:48:41 +0200 Subject: [PATCH 1/2] Update checksizeof.cpp --- lib/checksizeof.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/checksizeof.cpp b/lib/checksizeof.cpp index 134cca92b7f..e211764ad3a 100644 --- a/lib/checksizeof.cpp +++ b/lib/checksizeof.cpp @@ -233,7 +233,8 @@ void CheckSizeof::checkSizeofForPointerSize() // Now check for the sizeof usage: Does the level of pointer indirection match? const Token * const tokLink = tokSize->linkAt(1); if (tokLink && tokLink->strAt(-1) == "*") { - if (variable && variable->valueType() && variable->valueType()->pointer == 1 && variable->valueType()->type != ValueType::VOID) + if (variable && variable->valueType() && variable->valueType()->pointer == 1 && variable->valueType()->type != ValueType::VOID && + variable->valueType()->isTypeEqual(tokSize->next()->astOperand2()->valueType())) sizeofForPointerError(variable, variable->str()); else if (variable2 && variable2->valueType() && variable2->valueType()->pointer == 1 && variable2->valueType()->type != ValueType::VOID) sizeofForPointerError(variable2, variable2->str()); From fa8291fef0a3ce4c906e91f5938c9236e2165abc Mon Sep 17 00:00:00 2001 From: chrchr-github <78114321+chrchr-github@users.noreply.github.com> Date: Wed, 20 May 2026 10:49:28 +0200 Subject: [PATCH 2/2] Update testsizeof.cpp --- test/testsizeof.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/testsizeof.cpp b/test/testsizeof.cpp index b25afe8d153..fca8cb7ed7a 100644 --- a/test/testsizeof.cpp +++ b/test/testsizeof.cpp @@ -722,6 +722,12 @@ class TestSizeof : public TestFixture { " return AtomName;\n" "}"); ASSERT_EQUALS("", errout_str()); + + check("void* f(size_t n) {\n" // #11754 + " char* p = malloc(n * sizeof(void*));\n" + " return p;\n" + "}"); + ASSERT_EQUALS("", errout_str()); } void checkPointerSizeofStruct() {