Commit Graph

271 Commits

Author SHA1 Message Date
Daniel Marjamäki 8619bfe957 Bug hunting; Remove old value from array when it is overwritten 2020-12-16 19:06:20 +01:00
Daniel Marjamäki ecfabbcdbb Fix Cppcheck warning nullPointerRedundantCheck 2020-12-15 07:11:13 +01:00
Daniel Marjamäki 82635417d2 Bug hunting; Fixed array init 2020-12-14 22:15:10 +01:00
Daniel Marjamäki 4e90356a76 Bug hunting; Code cleanup 2020-12-14 18:04:12 +01:00
Daniel Marjamäki 116119083b Bug hunting; Better result from function that returns unknown pointer result 2020-12-14 17:53:28 +01:00
Daniel Marjamäki ab3614b4e2 Bug hunting; Improved debug output for structs 2020-12-14 12:32:39 +01:00
Daniel Marjamäki bf951ea5e6 Bug hunting; Fix for '*x=y' 2020-12-13 19:54:57 +01:00
Georgy Komarov 38a055d2f3
ExprEngine: Better debug output for exceptions (#2943) 2020-12-13 16:54:22 +01:00
Daniel Marjamäki 8f71e62fd6 Fix Cppcheck warning 2020-12-13 16:47:50 +01:00
Georgy Komarov 36ab23f1f7
ExprEngine: Handle pointers to struct as function argument (#2945) 2020-12-13 16:02:35 +01:00
Daniel Marjamäki 81c3ac738d CI: Fix testrunner 2020-12-13 15:51:20 +01:00
Daniel Marjamäki 6fb1a81eae Bug hunting; more debug output 2020-12-13 14:05:35 +01:00
Daniel Marjamäki b18dc0fdbb Bug hunting: Handle not better 2020-12-13 13:00:04 +01:00
Daniel Marjamäki 0ccc5c695b Bug hunting: prevent recursion in analysis when code calls self 2020-12-13 09:33:40 +01:00
Daniel Marjamäki be16b2c276 Bug hunting; better handling of early return 2020-12-13 09:13:26 +01:00
Daniel Marjamäki 2e96cc932d ExprEngine; Improved debug output, show constraints. 2020-12-12 21:23:38 +01:00
Daniel Marjamäki a7fb946ab8 ExprEngine: Clarify debug output a bit 2020-12-12 18:29:17 +01:00
Daniel Marjamäki cba8b99095 ExprEngine: Catch and handle exceptions in ExprData 2020-12-12 17:33:21 +01:00
Daniel Marjamäki d0f700305c ExprEngine: Avoid analyzing unreachable execution paths 2020-12-12 15:22:49 +01:00
Daniel Marjamäki 6d7ddde1b5 Bug hunting; Make bughuntingUninit check a bit less noisy about const parameters 2020-12-08 13:34:46 +01:00
Daniel Marjamäki 02bb14003b Bug hunting; better handling of struct member assignment in for loop 2020-12-07 19:58:19 +01:00
Daniel Marjamäki 39a9350f6e Bug hunting: Better analysis of BailoutValue 2020-12-07 06:27:14 +01:00
Daniel Marjamäki 7e9cbda2d5 Revert "2"
This reverts commit db386b2a7f.

That commit was half-done and not intended to be merged.
2020-12-06 22:29:46 +01:00
Daniel Marjamäki db386b2a7f 2 2020-12-06 21:45:48 +01:00
Daniel Marjamäki d12732adfb Bug hunting; Diagnose array index out of bounds when struct member is accessed 2020-12-06 17:44:07 +01:00
Daniel Marjamäki 3bf758a04b Bug hunting; Ensure there is warning after unknown variable expression 2020-12-06 10:13:10 +01:00
Daniel Marjamäki 7324722dab Bug hunting; Detect array index out of bounds in loop better 2020-12-05 20:39:54 +01:00
Daniel Marjamäki 86ceafa870 Fixed compiler warning; missing enum case in switch 2020-12-05 13:02:43 +01:00
Daniel Marjamäki da4cd6a4f4 Bug hunting; Improved buffer overflow check 2020-12-05 11:47:57 +01:00
Daniel Marjamäki 65721dd7a9 Bug hunting; Better handling of constant 2020-10-08 17:24:35 +02:00
Daniel Marjamäki b052843655 exprengine: Use and tweak ExprEngine::ArrayValue::MAXSIZE 2020-10-04 11:21:13 +02:00
Daniel Marjamäki d60520137c ExprEngine: Refactoring 2020-09-10 08:02:15 +02:00
Daniel Marjamäki 7c8c0ef3a2 Bug hunting: Avoid uninit struct member false positives 2020-09-09 18:26:04 +02:00
Daniel Marjamäki b0b31feadd fix ubsan errors 2020-09-05 21:09:11 +02:00
Daniel Marjamäki 6277eece67 Variable contracts 2020-08-24 20:57:49 +02:00
Georgy Komarov c5369b84e1
Prevent copying in range-based for loops (#2751)
Use reference types in range for loops to prevent copying.
2020-08-23 20:53:44 +02:00
Daniel Marjamäki 4a76dbb632 Bug hunting; Avoid bailout uninit FP, stream object 2020-07-19 16:54:44 +02:00
Daniel Marjamäki e9281babc4 Bug hunting; avoid false positives for structs/classes with constructors 2020-07-18 18:54:21 +02:00
Daniel Marjamäki 8d6fd4769b Bug hunting; Terminating analysis 2020-07-14 11:22:42 +02:00
Daniel Marjamäki fe324aea49 Bug hunting; Detect internal error and throw exception 2020-07-14 10:25:00 +02:00
Daniel Marjamäki f34ff9325a Fixed testrunner 2020-06-29 21:53:14 +02:00
Daniel Marjamäki a0770f05e1 Reuse 'extractForLoopValues' in ValueFlow 2020-06-29 21:01:43 +02:00
Daniel Marjamäki b5cd96cbda ExprEngine; Rename variable 2020-06-28 21:36:56 +02:00
Daniel Marjamäki ad5e4fef1f Bug hunting; improved handling of 'malloc' in uninit checker 2020-06-28 21:20:59 +02:00
Daniel Marjamäki 0e736e0c29 Rename BugHuntingException to ExprEngineException 2020-06-28 17:39:14 +02:00
Daniel Marjamäki d4bd3016da ExprEngine; Improved handling of for loop, loop variable 2020-06-28 17:28:40 +02:00
Daniel Marjamäki c42c751d61 ExprEngine; Fixed testing 2020-06-28 13:41:27 +02:00
Daniel Marjamäki f85cdd3f77 ExprEngine: DataIndex update to get better debug output 2020-06-28 10:52:50 +02:00
Daniel Marjamäki bcaf792e30 Bug hunting; Fix FP for struct with uninitialized members passed to function in C 2020-06-27 22:11:12 +02:00
Daniel Marjamäki c7a8f5217f ExprEngine; Fixed Cppcheck warning 2020-06-27 21:54:38 +02:00