Skip to content

Commit 52c39bf

Browse files
committed
Fix #14478
1 parent 7c0d6e7 commit 52c39bf

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

lib/checkautovariables.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,11 +265,17 @@ static bool hasOverloadedAssignment(const Token* tok, bool& inconclusive)
265265

266266
static bool isMemberAssignment(const Token* tok, const Token*& rhs, const Settings& settings)
267267
{
268-
if (!Token::Match(tok, "[;{}] %var% . %var%"))
269-
return false;
268+
const Token *endBracket = nullptr;
269+
if (!Token::Match(tok, "[;{}] %var% . %var%")) {
270+
if (!Token::Match(tok, "[;{}] %var% ["))
271+
return false;
272+
endBracket = tok->linkAt(2);
273+
if (!Token::Match(endBracket, "] . %var%"))
274+
return false;
275+
}
270276
if (!isPtrArg(tok->next()))
271277
return false;
272-
const Token* assign = tok->tokAt(2)->astParent();
278+
const Token* assign = (endBracket ? endBracket->next() : tok->tokAt(2))->astParent();
273279
while (Token::simpleMatch(assign, "["))
274280
assign = assign->astParent();
275281
if (!Token::simpleMatch(assign, "="))

0 commit comments

Comments
 (0)