Commit Graph

460 Commits

Author SHA1 Message Date
Daniel Marjamäki 22613dc7fb
Fixed #12267 (Misra.py: crashes in 17.7 checker when there is macro in variable declaration) (#5768) 2023-12-15 22:53:19 +01:00
Daniel Marjamäki 727d086dc4
Fix #12217 (misra 11.4: report conversion in macro) (#5692) 2023-11-22 12:47:48 +01:00
andymacg f444696d5c
Fix #12198: Expect function pointers in Misra 17.7 check (#5675) 2023-11-20 20:19:20 +01:00
Swasti Shrivastava 1ce901385a
Fix #12172:False positive: misra-11.1 function pointer assigned to array (#5667) 2023-11-16 13:57:27 +01:00
Swasti Shrivastava 81a03e7341
Fix #12184: false positive: misra 11.6, cast expression '0U' to 'void*' (#5666) 2023-11-16 09:06:58 +01:00
Daniel Marjamäki 282c195a6f
Fix #12169 (False positive: wrong misra-config variable with accessing object in memory) (#5645) 2023-11-09 12:25:42 +01:00
Daniel Marjamäki 617b7a39cd
Fix #12163 (misra.py: crashes when ctu-info line does not have certain attributes) (#5638) 2023-11-08 15:23:50 +01:00
Swasti Shrivastava 12844703de
Fix #9488: MISRA addon: False positive for rule 10.6 in test for rule 10.1 (#5598) 2023-10-30 17:24:19 +01:00
Swasti Shrivastava 915b4b6c5a
Fix #10747: FP: misra-c2012-8.6 (#5601) 2023-10-29 19:39:36 +01:00
Swasti Shrivastava 56bfa9f3ea
Fix #9498: false positive: misra-c2012-18.8 (#5600) 2023-10-28 18:45:40 +02:00
Daniel Marjamäki 083c4aa34b
Fix #12079 (Make misra-config a critical error) (#5578) 2023-10-28 16:58:59 +02:00
Swasti Shrivastava b58a6b6911
Fix #11474, #9491: FP: misra-c2012-14.2 (#5582) 2023-10-23 08:51:47 +02:00
Swasti Shrivastava 04ece4f65b
Fix #12079: Misra: calling unknown function in condition => false pos… (#5568)
…itive 14.4, missing misra-config warning
2023-10-19 19:38:20 +02:00
Swasti Shrivastava ad4e688ff8
Fix #10652: FP: misra-c2012-10.4 (char)'1' != (char) (#5556) 2023-10-16 18:53:51 +02:00
Swasti Shrivastava dde956b085
Fix 10855,11752:False positive: misra-c2012-22.10 (#5557) 2023-10-15 17:33:35 +02:00
Oliver Stöneberg a3ff6d53c4
added `-Werror` to pytest calls and fixed reported warnings (#5483) 2023-09-26 15:31:37 +02:00
Daniel Marjamäki 204e75dc59
Fixed #11909 (misra addon: rule 1.2 detect some gcc language extensions) (#5390) 2023-09-01 16:44:14 +02:00
andymacg 5a136c3f38
Fix #11877 FP misra 10.4 On array member comparison (#5342)
I also changed the comment header to run tests on misra-test-avr8.c
because I thought that was the intention to use it like misra-test.c; if
not, I can revert.
2023-08-22 12:18:12 +02:00
andymacg 5bb4c6f5bc
Fix #11878 FP misra-c2012-18.7 on function pointer parameter with array-type args (#5343)
https://trac.cppcheck.net/ticket/11878#ticket
2023-08-22 12:03:12 +02:00
Daniel Marjamäki 2cb4c4126a
Fix #11443 (FP: misra-c2012-5.7 on anonymous struct) (#5033) 2023-05-07 20:22:26 +02:00
Daniel Marjamäki 029056b0b4 misra.py: Add safety check 2023-04-17 17:21:02 +02:00
Swasti Shrivastava e575a84c8a
Update misra.py to not run a few rules for cppcheck premium (#4970) 2023-04-15 18:35:34 +02:00
apuly 30ff1aad9a
misra: fix misra-3_1 false positive for URIs in block comments (#4939)
* misra: fix misra-3_1 false positive for URIs in block comments

* added unit test, improved new misra 3.1 based on false positives

---------

Co-authored-by: Paul B <unconfigured@null.spigotmc.org>
2023-04-11 16:13:10 +02:00
tx_haggis c0d9a76dd9
MISRA: Speed up analysis of .ctu_info files (#4666)
* Speed up analyses of .ctu_info files
Use temporary dictionaries to eliminate duplicate typedefs,
tags and macros

* Consistency: use a cache key variable
Ensures that the get and add use the same key.

* CTU perf: use dict for macros, tags & types.
2023-04-11 14:20:58 +02:00
Daniel Marjamäki 7cded1967d misra.py: Fix mistake I saw when looking at the code 2023-04-09 18:55:47 +02:00
Daniel Marjamäki 5830047fcb misra: fix misra-10.7 false positive for constant expression 2023-01-02 18:52:33 +01:00
dzid26 3887d6dde1
Missing rule-text-file to not stop the analysis (#4458) 2022-09-12 12:55:07 +02:00
Daniel Marjamäki 514278e02b Fixed #11181 (cppcheckdata.py: handle exception when ctu-info file is missing) 2022-08-25 11:10:39 +02:00
Daniel Marjamäki 0d9bf03b5c misra.py: do not execute premiumaddon to perform misra checks 2022-08-25 08:07:22 +02:00
g-chauvel be658e2392
misra_14_2 various fixes (#4324) 2022-08-21 20:11:10 +02:00
Daniel Marjamäki 13c80d6cce Fixed #11180 (False positive: misra-c2012-8.1 for code 'unsigned x;') 2022-07-28 20:34:56 +02:00
Daniel Marjamäki e0bc871bae misra.py: strip error message so it does not end with \r 2022-07-08 16:11:15 +02:00
Daniel Marjamäki e64e5811ab misra.py: better handling of --get-rule-text 2022-07-08 14:06:27 +02:00
Daniel Marjamäki 359f6b3680 misra: enable more checks for misra c++ 2008 checking 2022-06-07 20:55:55 +02:00
Daniel Marjamäki ec13f5fe5c misra: When checking C++ code only activate certain misra c++ compliant rules. It will be supported to run the addon on C++ code. 2022-06-06 22:22:52 +02:00
Daniel Marjamäki 9b807ba047 misra: fix problems when executing premium addon 2022-05-05 14:15:09 +02:00
Daniel Marjamäki b444c002e2 Fixed #11000 (misra: crash) 2022-05-03 22:03:35 +02:00
Daniel Marjamäki d50823fd22 Fix misra crash when premium addon fails 2022-05-03 18:37:59 +02:00
Daniel Marjamäki ea63b8e2bb misra: fix void parameter check 2022-04-01 21:34:47 +02:00
Paul Fultz II 5bea50cd36
Fix 10908: FP: uninitvar after for-loop (#3942) 2022-03-31 21:24:20 +02:00
Daniel Marjamäki fb89a2c742 misra: improved execution of premium addon 2022-03-16 18:59:02 +01:00
Daniel Marjamäki a6c1653ed2 Fixed #10853 (False positive: misra-c2012-16.3: macro parameter "default") 2022-03-13 19:58:27 +01:00
Daniel Marjamäki df2c8f3a65 Fixed #10862 (Misplaced warning: misra-2.2: macros) 2022-03-13 13:15:38 +01:00
José Martins b1e92fc399
Misra false positive fixes for rules 8.7 and 5.9 (#3844)
* Fix misra 8.7 false positives on single function usage

When there is a single usage of a function, we should first check if the
file it is used in, is the same one it was defined in. When this is not the
case, there is no violatior to be reported.

* Fix misra rule 5.9 false positives for exception

The exception for rule 5.9 described in the guidelines allows for
multiple definitions of internal linkage obejcts when these regard a
static inlined function defined in the same header file.

* Fix neglecting of inline keyword flag upon simplifications

When the inline keyword is being "simplified" and the inline flag is
degated to the next token. However, this information might be lost if the next
token itself is simplified/deleted in a futher pass. Therefore, we must
propagated the flag to all the next named tokens, so we can make sure the
function name token itself is tagged with this property.

* add tests for misra addon rules 8.7 and 5.9
2022-02-27 19:17:48 +01:00
Daniel Marjamäki 03deb4d31e addons: interface with premiumaddon if it exists 2022-02-24 16:08:59 +01:00
Daniel Marjamäki 3dd200930a Revert "misra,cert: use premiumaddon if it exists"
This reverts commit ef28c579bf.
2022-02-23 22:38:41 +01:00
Daniel Marjamäki ef28c579bf misra,cert: use premiumaddon if it exists 2022-02-23 20:26:31 +01:00
Daniel Marjamäki bb8b9a8001 misra: optional interactions with premium addon 2022-02-17 11:18:54 +01:00
Daniel Marjamäki 68b00b3cfc misra: fix 7.2 checking 2022-02-12 12:44:44 +01:00
Daniel Marjamäki 515649217f fix 2022-02-12 07:47:26 +01:00