parent
14627ca6d2
commit
8d64d12e5d
|
@ -1020,7 +1020,7 @@ bool isAliasOf(const Token* tok, const Token* expr, int* indirect, bool* inconcl
|
|||
if (val.isLocalLifetimeValue() || (pointer && val.isSymbolicValue() && val.intvalue == 0)) {
|
||||
if (findAstNode(val.tokvalue,
|
||||
[&](const Token* aliasTok) {
|
||||
return aliasTok->exprId() == childTok->exprId();
|
||||
return aliasTok != childTok && aliasTok->exprId() == childTok->exprId();
|
||||
})) {
|
||||
if (val.isInconclusive() && inconclusive != nullptr) {
|
||||
value = &val;
|
||||
|
|
|
@ -3991,6 +3991,15 @@ private:
|
|||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:2]: (style) Parameter 's' can be declared as pointer to const\n",
|
||||
errout.str());
|
||||
|
||||
check("void f(char *a1, char *a2) {\n" // #12252
|
||||
" char* b = new char[strlen(a1) + strlen(a2) + 2];\n"
|
||||
" sprintf(b, \"%s_%s\", a1, a2);\n"
|
||||
" delete[] b;\n"
|
||||
"}\n");
|
||||
ASSERT_EQUALS("[test.cpp:1]: (style) Parameter 'a1' can be declared as pointer to const\n"
|
||||
"[test.cpp:1]: (style) Parameter 'a2' can be declared as pointer to const\n",
|
||||
errout.str());
|
||||
}
|
||||
|
||||
void switchRedundantAssignmentTest() {
|
||||
|
|
Loading…
Reference in New Issue