From 1b1099201c65e21e07e97a0e164ea2da5140d9d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Sat, 15 Apr 2017 08:30:09 +0200 Subject: [PATCH] Misra: Add rule 21.9 --- addons/misra-test.c | 5 +++++ addons/misra.py | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/addons/misra-test.c b/addons/misra-test.c index 256200dd5..83b737e47 100644 --- a/addons/misra-test.c +++ b/addons/misra-test.c @@ -221,3 +221,8 @@ void misra_21_8() { getenv("foo"); // 21.8 system(""); // 21.8 } + +void misra_21_9() { + bsearch(key,base,num,size,cmp); // 21.9 + qsort(base,num,size,cmp); // 21.9 +} diff --git a/addons/misra.py b/addons/misra.py index fb414b6d3..a4bf663fa 100644 --- a/addons/misra.py +++ b/addons/misra.py @@ -679,6 +679,11 @@ def misra_21_8(data): if (token.str in ['abort', 'getenv', 'system']) and token.next and token.next.str == '(': reportError(token, 21, 8) +def misra_21_9(data): + for token in data.tokenlist: + if (token.str in ['bsearch', 'qsort']) and token.next and token.next.str == '(': + reportError(token, 21, 9) + if '-verify' in sys.argv[1:]: VERIFY = True @@ -756,6 +761,7 @@ for arg in sys.argv[1:]: misra_21_5(data.rawTokens) misra_21_7(cfg) misra_21_8(cfg) + misra_21_9(cfg) if VERIFY: for expected in VERIFY_EXPECTED: