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
4cf9a704b4
Fixed #11707 (False positive: misra 9.3 partial array initializations) ( #5034 )
2023-05-05 17:22:58 +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
Oliver Stöneberg
0c95971c54
added .gitattributes and normalized files ( #4668 )
2022-12-30 21:33:45 +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
Paul Fultz II
72c764b034
Expose exprId to addon ( #4354 )
2022-08-16 22:00:31 +02:00
Paul Fultz II
a8c1cdca57
Add ** to match until in addons ( #4353 )
2022-08-16 19:05:37 +02:00
Paul Fultz II
754250cd57
Add methods to token class in addons ( #4320 )
2022-07-30 11:09:22 +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
Oliver Stöneberg
bc58f55c6e
donate-cpu: greatly improved `LibraryIncludes.get_libraries()` performance / some optimizations and cleanups ( #4273 )
...
* donate_cpu_lib.py: use `os.path.join()`
* donate-cpu: removed remaining usage of `os.chdir()`
* donate_cpu_lib.py: moved library includes code into class
* donate_cpu_lib.py: pre-compile library include regular expressions
* donate_cpu_lib.py: pre-compile some more regular expressions
* donate_cpu_lib.py: small unpack_package() cleanup and optimization
* donate_cpu_lib.py: added some information about the extracted files to unpack_package()
* donate_cpu_lib.py: bumped version
* added test_donate_cpu_lib.py
* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance
only scan each file once for previously undetected libraries only
* test_donate_cpu_lib.py: fix for Python 3.5
* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions
* fixed `test_arguments_regression()` Python tests with additional pytest arguments
* donate_cpu_lib.py: use `subprocess.check_call()`
* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
2022-07-13 21:09:29 +02:00
Paul Fultz II
7b549b622f
Add match function to addons ( #4268 )
2022-07-12 22:00:15 +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
ef33ff628f
cppcheckdata.py: fix cmd_output() function, handle errors better
2022-06-16 14:07:14 +02:00
Daniel Marjamäki
9e31d6d05d
Revert "cppcheckdata.py: better handling when subprocess call fails"
...
This reverts commit 1cc3b46d32
.
2022-06-15 19:38:40 +02:00
Daniel Marjamäki
1cc3b46d32
cppcheckdata.py: better handling when subprocess call fails
2022-06-15 17:13:14 +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
Alon Alexander
ea3bb8b297
Ignore copy/move constructors for function naming checks ( #4134 )
...
* Ignore copy/move constructors for function naming checks
* Also change in namingng
* Add test in naming_test.cpp
2022-06-01 06:54:31 +02:00
Daniel Marjamäki
8dbc1b802a
misra: fix crash
2022-05-17 22:15:49 +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
a5e0a9fe08
cppcheckdata: if 'import pathlib' fails then print a proper error message that explains how user can solve the problem.
2022-04-22 21:39:14 +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
Paul Fultz II
32ded1602b
Fix warnings in switch statements on clang ( #3943 )
2022-03-30 19:30:02 +02:00
Daniel Marjamäki
92316b07c8
Remove CERT addon from open source Cppcheck. The plan is to provide complete CERT C checking in Cppcheck Premium during this year.
2022-03-23 20:30:43 +01:00
Daniel Marjamäki
f907bba4e5
cppcheckdata.py: code cleanup
2022-03-19 12:27:24 +01:00
Daniel Marjamäki
7728c53cb9
Addons: Variable.constness will never be None
2022-03-19 10:36:46 +01: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
ee0d93e5da
Fixed #10861 (False positive: CERT-API01: only warn about char/wchar arrays.)
2022-03-13 16:42:07 +01:00
Daniel Marjamäki
df2c8f3a65
Fixed #10862 (Misplaced warning: misra-2.2: macros)
2022-03-13 13:15:38 +01:00
Daniel Marjamäki
7290ec0db6
cppcheckdata: remove debug output
2022-03-09 21:38:44 +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
f68b219300
Revert "cppcheckdata: a bit better handling for windows"
...
This reverts commit ef6bbcb6ad
.
2022-02-23 22:38:26 +01:00
Daniel Marjamäki
ef6bbcb6ad
cppcheckdata: a bit better handling for windows
2022-02-23 20:40:00 +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
Georgiy Komarov
47e9ed6e06
cert: Fix FP on pointer types ( #3800 )
...
Closes issue 10782
2022-02-05 14:02:01 +01:00
Daniel Marjamäki
ebd1fbbfd8
cert: improved check for int31-c
2022-01-20 21:09:39 +01:00
Daniel Marjamäki
31f16d01d6
fix in misra test code
2022-01-18 20:59:30 +01:00
Daniel Marjamäki
5ebcd1dd52
misra; update test there was a warning about missing return
2022-01-18 20:55:30 +01:00
Paul Fultz II
ccea1da33a
Add missing valueflow attributes to cppcheckdata.py ( #3663 )
2022-01-02 08:11:36 +01:00
Daniel Marjamäki
5491670792
Fixed #10528 (FP: misra-c2012-8.4)
2021-12-22 18:55:28 +01:00
Daniel Marjamäki
cf203e2285
misra; fix typo
2021-12-14 17:32:05 +01:00
Daniel Marjamäki
d0e68e0d77
misra; add rule 17.3
2021-12-11 12:42:15 +01:00
Daniel Marjamäki
10109a5ef7
dumpfile: remove redundant Variable attributes isArgument and isLocal. Add isVolatile.
2021-11-19 17:21:27 +01:00
Daniel Marjamäki
593683ab69
Fixed #9459 (MISRA Rule 2.2: Find dead code in arithmetic operators)
2021-11-17 17:44:54 +01:00
Daniel Marjamäki
4f9a563570
Fixed #10583 (False positive: misra-15.6)
2021-11-15 21:27:36 +01:00
Daniel Marjamäki
2a64ad8dbb
Fixed #10481 (misra.py: Bailing out from checking test.c since there was an internal error: Failed to ...)
2021-09-25 21:53:55 +02:00
Daniel Marjamäki
3c1ae77962
Fixed #10499 (FP: misra-c2012-10.4)
2021-09-23 10:44:38 +02:00
Dani Martin
f01ffddca6
Fix in MISRA rule 6.1 check ( #3458 )
2021-09-22 19:25:02 +02:00
Daniel Marjamäki
4ad09f181a
Fixed #10480 (FP: misra-c2012-10.4 (char))
2021-09-22 13:02:11 +02:00
Daniel Marjamäki
47ea670eb3
Fixed #10486 (FP: misra-c2012-8.4)
2021-09-20 21:27:05 +02:00
Daniel Marjamäki
adb703c09d
Fixed #10487 (FP: misra-c2012-10.6 (bit fields))
2021-09-20 20:27:43 +02:00
Armin Müller
c6f8995bf0
Typos found by running "codespell" ( #3463 )
2021-09-20 19:51:38 +02:00
Daniel Marjamäki
ee475b181d
Fixed #10488 (FP: misra-c2012-10.7)
2021-09-19 20:22:30 +02:00
Daniel Marjamäki
a6c98e9e60
Fixed #10482 (FP: misra-c2012-12.2)
2021-09-17 14:21:25 +02:00
Daniel Marjamäki
b6abe9c5fe
misra; fix test_rules_suppression
2021-09-17 08:23:48 +02:00
Daniel Marjamäki
c296115cd3
misra; fixed test
2021-09-17 08:08:40 +02:00
Daniel Marjamäki
b938ee69d0
Fixed #10486 (FP: misra-c2012-8.4)
2021-09-16 11:41:50 +02:00
Daniel Marjamäki
8de160a163
Fixed #10447 (FP: misra-c2012-10.3)
2021-09-12 09:12:47 +02:00
Daniel Marjamäki
c120c59912
Fixed #10446 (FP: misra-c2012-10.1 (u8 & 0x42U))
2021-09-12 08:56:07 +02:00
PeterSchops
42f66433bc
Misra add c11 keywords ( #3448 )
2021-09-06 20:13:15 +02:00
Daniel Marjamäki
055d111ee9
Revert "misra.py: Fixed FN for rule 21.8"
...
This reverts commit 870b8b9c60
.
2021-08-30 19:50:36 +02:00
orbitcowboy
870b8b9c60
misra.py: Fixed FN for rule 21.8
2021-08-30 11:07:38 +02:00
Daniel Marjamäki
43fa7d2ebe
misra; Robustness. Fix AttributeErrors. getEssentialType might return None.
2021-08-28 15:27:35 +02:00
Daniel Marjamäki
ca047e57bf
Switch from http to https on our sourceforge webpage
2021-08-28 12:46:54 +02:00
Daniel Marjamäki
e1d0db38ee
Fixed #10380 (FP: misra-c2012-20.9)
2021-08-22 21:13:27 +02:00
Daniel Marjamäki
ac662ec07d
misra: map cppcheck errors
2021-08-22 17:02:37 +02:00
Daniel Marjamäki
0662c94d83
misra: implement rule 21.20
2021-08-22 07:38:07 +02:00
Daniel Marjamäki
ec301b2447
cppcheckdata.py: fixed Value::tokvalue
2021-08-22 05:56:16 +02:00
PeterSchops
7199dde161
Fix issue in misra 9 x ( #3409 )
2021-08-21 22:01:24 +02:00
Daniel Marjamäki
6e4acbd3bc
misra: implement rule 21.19
2021-08-19 06:58:49 +02:00
Daniel Marjamäki
8700d1b86d
update misra test
2021-08-16 20:46:37 +02:00
Daniel Marjamäki
864d6462d0
misra: implement rule 21.16
2021-08-15 20:50:20 +02:00
Daniel Marjamäki
ecba12a6b8
misra: improved generateTable
2021-08-15 20:12:51 +02:00
Daniel Marjamäki
8d67653de3
misra: implement rule 21.14
2021-08-15 19:23:51 +02:00
Daniel Marjamäki
682c4510a9
misra: implement rule 1.4
2021-08-15 13:39:14 +02:00
Daniel Marjamäki
6ddb8388ed
misra: implement rule 21.21
2021-08-15 13:38:04 +02:00
Daniel Marjamäki
10c2dcf721
misra: implement rule 22.7
2021-08-15 12:04:55 +02:00
Daniel Marjamäki
b3034a5628
misra: implement rule 22.9
2021-08-15 07:46:32 +02:00
Daniel Marjamäki
5313a40c3b
misra; implement rule 22.8
2021-08-14 19:24:31 +02:00
Daniel Marjamäki
4b126db9ca
misra: implement rule 22.10
2021-08-13 18:03:37 +02:00
Paul Fultz II
2a3657154b
Dont require __main__ for an addon ( #3363 )
2021-08-12 20:17:51 +02:00
Daniel Marjamäki
f85f3c28e1
misra; implement rule 21.15
2021-07-30 15:53:10 +02:00