Misra: Add rule 21.8
This commit is contained in:
parent
a5b3fe3998
commit
a3cd587af3
|
@ -210,5 +210,14 @@ void misra_21_3() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void misra_21_7() {
|
void misra_21_7() {
|
||||||
|
atof(str); // 21.7
|
||||||
atoi(str); // 21.7
|
atoi(str); // 21.7
|
||||||
|
atol(str); // 21.7
|
||||||
|
atoll(str); // 21.7
|
||||||
|
}
|
||||||
|
|
||||||
|
void misra_21_8() {
|
||||||
|
abort(); // 21.8
|
||||||
|
getenv("foo"); // 21.8
|
||||||
|
system(""); // 21.8
|
||||||
}
|
}
|
||||||
|
|
|
@ -674,6 +674,11 @@ def misra_21_7(data):
|
||||||
if (token.str in ['atof', 'atoi', 'atol', 'atoll']) and token.next and token.next.str == '(':
|
if (token.str in ['atof', 'atoi', 'atol', 'atoll']) and token.next and token.next.str == '(':
|
||||||
reportError(token, 21, 7)
|
reportError(token, 21, 7)
|
||||||
|
|
||||||
|
def misra_21_8(data):
|
||||||
|
for token in data.tokenlist:
|
||||||
|
if (token.str in ['abort', 'getenv', 'system']) and token.next and token.next.str == '(':
|
||||||
|
reportError(token, 21, 8)
|
||||||
|
|
||||||
if '-verify' in sys.argv[1:]:
|
if '-verify' in sys.argv[1:]:
|
||||||
VERIFY = True
|
VERIFY = True
|
||||||
|
|
||||||
|
@ -750,6 +755,7 @@ for arg in sys.argv[1:]:
|
||||||
misra_21_4(data.rawTokens)
|
misra_21_4(data.rawTokens)
|
||||||
misra_21_5(data.rawTokens)
|
misra_21_5(data.rawTokens)
|
||||||
misra_21_7(cfg)
|
misra_21_7(cfg)
|
||||||
|
misra_21_8(cfg)
|
||||||
|
|
||||||
if VERIFY:
|
if VERIFY:
|
||||||
for expected in VERIFY_EXPECTED:
|
for expected in VERIFY_EXPECTED:
|
||||||
|
|
Loading…
Reference in New Issue