ericsesterhenn: Fix #1028 (False positive resource leak)
This commit is contained in:
parent
ded2e68c2e
commit
153a13272c
|
@ -4728,6 +4728,14 @@ void Tokenizer::simplifyComparisonOrder()
|
||||||
else
|
else
|
||||||
tok->tokAt(2)->str("<=");
|
tok->tokAt(2)->str("<=");
|
||||||
}
|
}
|
||||||
|
else if (Token::Match(tok, "( %num% ==|!= %var% )"))
|
||||||
|
{
|
||||||
|
if (!tok->next()->isName() && !tok->next()->isNumber())
|
||||||
|
continue;
|
||||||
|
const std::string op1(tok->strAt(1));
|
||||||
|
tok->next()->str(tok->strAt(3));
|
||||||
|
tok->tokAt(3)->str(op1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2194,6 +2194,15 @@ private:
|
||||||
" close(fd);\n"
|
" close(fd);\n"
|
||||||
"}\n", true);
|
"}\n", true);
|
||||||
ASSERT_EQUALS("", errout.str());
|
ASSERT_EQUALS("", errout.str());
|
||||||
|
|
||||||
|
check("void f(const char *path)\n"
|
||||||
|
"{\n"
|
||||||
|
" int fd = open(path, O_RDONLY);\n"
|
||||||
|
" if (-1 == fd)\n"
|
||||||
|
" return;\n"
|
||||||
|
" close(fd);\n"
|
||||||
|
"}\n", true);
|
||||||
|
ASSERT_EQUALS("", errout.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
void creat_function()
|
void creat_function()
|
||||||
|
|
|
@ -439,7 +439,7 @@ private:
|
||||||
ASSERT_EQUALS("= p ;", tok("= (p);"));
|
ASSERT_EQUALS("= p ;", tok("= (p);"));
|
||||||
ASSERT_EQUALS("if ( a < p ) { }", tok("if(a<(p)){}"));
|
ASSERT_EQUALS("if ( a < p ) { }", tok("if(a<(p)){}"));
|
||||||
ASSERT_EQUALS("void f ( ) { int p ; if ( p == -1 ) { } }", tok("void f(){int p; if((p)==-1){}}"));
|
ASSERT_EQUALS("void f ( ) { int p ; if ( p == -1 ) { } }", tok("void f(){int p; if((p)==-1){}}"));
|
||||||
ASSERT_EQUALS("void f ( ) { int p ; if ( -1 == p ) { } }", tok("void f(){int p; if(-1==(p)){}}"));
|
ASSERT_EQUALS("void f ( ) { int p ; if ( p == -1 ) { } }", tok("void f(){int p; if(-1==(p)){}}"));
|
||||||
ASSERT_EQUALS("void f ( ) { int p ; if ( p ) { } }", tok("void f(){int p; if((p)){}}"));
|
ASSERT_EQUALS("void f ( ) { int p ; if ( p ) { } }", tok("void f(){int p; if((p)){}}"));
|
||||||
ASSERT_EQUALS("return p ;", tok("return (p);"));
|
ASSERT_EQUALS("return p ;", tok("return (p);"));
|
||||||
ASSERT_EQUALS("void f ( ) { int * p ; if ( ! * p ) { } }", tok("void f(){int *p; if (*(p) == 0) {}}"));
|
ASSERT_EQUALS("void f ( ) { int * p ; if ( ! * p ) { } }", tok("void f(){int *p; if (*(p) == 0) {}}"));
|
||||||
|
|
Loading…
Reference in New Issue