Commit Graph

4938 Commits

Author SHA1 Message Date
Robert Reif 59de30823e CheckIO: This patch adds support for fprintf_s, fscanf_s and %I. Ticket: #5051 2013-10-03 06:37:40 +02:00
Robert Reif 5aba841499 CheckIO: Handling of casts (#4964) 2013-10-02 04:12:46 +02:00
Martin Ettl fa5ee8fd13 Tokenizer: simplifyMathFunctions: added more simplifications for exp(), exp2() and log2() functions. 2013-10-01 20:30:59 +02:00
orbitcowboy b6d7e797a2 Testtoken:matchNumeric(): extended testing about some missing testcases. 2013-09-30 15:55:36 -07:00
orbitcowboy 5a158987ce Added todo testcase for false positive: Comparison of boolean with expression with an integer. 2013-09-30 11:21:28 -07:00
Robert Reif cc6745fef6 CheckIO: Fixed false positives when using _snprintf_s and _snwprintf_s. Ticket: #5057 2013-10-01 05:49:44 +02:00
Martin Ettl f0cbeb5233 simplifyMathFunctions: added support for exp(),sqrt(),cbrt() functions. 2013-09-29 18:11:17 +02:00
Robert Reif c37c6617d3 Fixed #5057 (Microsoft secure printf/scanf support.) 2013-09-30 19:55:21 +02:00
Daniel Marjamäki e3b7bce72b Fixed #4907 (False positive 'uninitStructMember' on structs with unions) 2013-09-30 06:35:31 +02:00
Daniel Marjamäki 1c513f330a Fixed #5055 (False negatives when using -I (external source code)) 2013-09-29 18:59:27 +02:00
Robert Reif d3798958f4 CheckIO: Fixed false positive when using wchar_t (#5051) 2013-09-29 15:25:18 +02:00
Martin Ettl 0527aefb11 Improved simplifyMathFunctions when simplifying special cases of pow(x,y)-function. 2013-09-29 15:11:09 +02:00
Daniel Marjamäki 973bdcc6d8 Fixed #4929 (false positive: Division by zero (standard function div())) 2013-09-29 11:13:49 +02:00
Robert Reif c5723ab46a CheckIO: Clarify format check warnings 2013-09-29 10:42:47 +02:00
Martin Ettl 5aaaff46ee Fixed #5049: new check: (warning) Comparison of two identical variables with isgreater(result,result) evaluates always to false. 2013-09-26 07:07:48 +02:00
Martin Ettl 805d082cd1 Tokenizer:simplifyMathFunction: added support for [ll]div() functions and corresponding unittests. The simplifcation is only performed, if a division by 1 is detected. 2013-09-26 07:01:08 +02:00
Steve Duan cf0c666d79 Fixed #5041 (Improve check: support 'auto' for 'Iterator used after element has been erased') 2013-09-28 11:50:45 +02:00
Daniel Marjamäki 4a02ca8202 SymbolDatabase: handle method with unknown macro 'void f() MACRO {..}' 2013-09-28 11:44:26 +02:00
Daniel Marjamäki c2a8f6f59a astyle formatting 2013-09-28 09:32:41 +02:00
Simon Martin d67a0add47 Ticket #5024: Don't crash upon invalid code when checking auto variables. 2013-09-28 00:14:12 +02:00
Frank Zingsheim 67915749b0 Fixed #4723 (False positive: Pure virtual call within conditional clause)
conditional clauses directly in constructor/destructor cannot prevent
pure virtual function call otherwise this part of the code would never been called
2013-09-27 09:25:38 +02:00
Martin Ettl 32e1831716 #5046 - Added todo testcase 2013-09-26 01:03:34 +02:00
Martin Ettl ea5bcfaa35 Fixed #5040 - simplify more math functions. 2013-09-26 00:44:16 +02:00
Frank Zingsheim 445d08d082 Fixed #4723 (False positive: Pure virtual call within conditional clause) 2013-09-26 17:25:16 +02:00
Robert Reif 44d86e97c0 Fixed #4920 (Microsoft ATL/MFC CString::Format argument checking) 2013-09-26 16:20:01 +02:00
Robert Reif 2de3ebcb1e CheckIO: fixed some more false negatives. Ticket: #4964 2013-09-24 06:43:03 +02:00
Daniel Marjamäki 17c0bb3cab revert 027e5cc8. the div() standard function should not be reimplemented. create a different fix. Ticket: #4929 2013-09-23 18:01:15 +02:00
Daniel Marjamäki 698e9e2b59 reverted ee14ea4f. I think this fix was too generic. If there is a union in the struct then only the union members should be skipped. 2013-09-23 17:52:42 +02:00
Daniel Marjamäki ee14ea4fc2 Fixed #4907 (False positive "uninitStructMember" on structs with unions) 2013-09-23 07:20:20 +02:00
Daniel Marjamäki 64454068ec Fixed #4934 (false positive: Uninitialized variable (loop with inner condition '(x=1)')) 2013-09-23 06:07:01 +02:00
Daniel Marjamäki 027e5cc860 Fixed #4929 (false positive: Division by zero (standard function div())) 2013-09-22 09:52:12 +02:00
Robert Reif 5c4c397372 CheckIO: add scanf argument type checking. Floating point and integer checking is complete but string checking is incomplete and character checking is missing. Ticket #4099 2013-09-22 06:56:31 +02:00
Alexander Mai 6eab4abaf2 Fixed #5030 (Segmentation fault below CheckMemoryLeakStructMember::isMalloc()) 2013-09-21 18:10:29 +02:00
Daniel Marjamäki 965d8f0ecc Fixed #5033 (segmentation fault (valid code) in CheckOther::checkZeroDivisionOrUselessCondition) 2013-09-21 17:44:25 +02:00
Martin Ettl 4cc153a6f3 Fixed #5032: fix wrong unittest case in testtoken::matchNumeric. 2013-09-21 17:40:18 +02:00
Martin Ettl d5f514c820 Fixed #5031: simplify labs|fabs|abs(-1) to 1. 2013-09-21 16:59:06 +02:00
Daniel Marjamki 3de9431507 Fixed #5022 (Improve check: Division by zero or useless condition, function call) 2013-09-15 17:46:52 +02:00
Robert Reif 19745bbb7d Fixed #5021 (Confusing message about %lf format in printf()) 2013-09-15 16:38:45 +02:00
Ettl Martin 5a671f8914 Fixed #5023 (Add support for asinf,acosf,asinl,acosl (...) functions) 2013-09-13 19:49:25 +02:00
Robert Reif 4d82e37078 Fixed #5021 (Confusing message about %lf format in printf()) 2013-09-12 05:54:05 +02:00
PKEuS 0439f25bbd Fixed wrong unittest introduced in b36a887608 2013-09-10 12:57:28 +02:00
Robert Reif 9be2f6b5d4 Fixed #4964 (printf format argument check only supports simple variables) 2013-09-08 20:21:00 +02:00
Daniel Marjamäki 4b1254bc8d Merge pull request #168 from simartin/ticket_4994
Ticket #4994: Don't crash when checking variable scope for invalid input
2013-09-08 06:57:42 -07:00
Simon Martin 843833f907 Ticket #4994: Don't crash when checking variable scope for invalid input. 2013-09-07 21:16:25 +02:00
Daniel Marjamäki 51ad747317 Fixed false positive in new 'x>-1<5' check when using templates 2013-09-07 18:24:35 +02:00
Daniel Marjamäki 6bb6506ce2 checkZeroDivisionOrUselessCondition: Fixed false positive when function is called and variable is passed to it 2013-09-07 16:18:11 +02:00
Daniel Marjamäki 08556d071e Fixed #5016 (false negative: condition is always true / comparing boolean result with '<' (x > -1 < 5)) 2013-09-07 11:32:11 +02:00
Daniel Marjamäki 83c460fc56 Fixed #5017 (New check: division by zero, otherwise condition is redundant) 2013-09-07 07:40:10 +02:00
Daniel Marjamäki 40c5924292 CheckIO: Handle classes derived from STL 2013-09-07 07:20:06 +02:00
Robert Reif 489a3a6e53 Fixed #5015 (strings not being concatinated properly) 2013-09-06 05:36:33 +02:00
Daniel Marjamäki 9000c233fa Fixed #5012 (Hang when there is syntax error 'else }') 2013-09-05 06:38:07 +02:00
Robert Reif 2fe91e290c CheckIo: Improved %d handling 2013-09-05 06:04:41 +02:00
Robert Reif 921a1aaa4f CheckIO: Improved handling of %u 2013-09-05 01:46:58 +02:00
Daniel Marjamäki 3b8e9f5a2a Fixed #4899 (False positive on unused variable) 2013-09-03 17:02:46 +02:00
PKEuS 05af4f82ce Test GetShowErrorMessages in testcmdlineparser.cpp 2013-09-03 11:41:16 +02:00
PKEuS b36a887608 Fixed false positive #5004 2013-09-03 10:54:10 +02:00
PKEuS 6b47ed414a Fixed Function::retDef initialization:
- Move/Copy Constructors and Destructors do not have a return type neither
- Fixed crash in SymbolDatabase::printOut
- Added testing
2013-09-03 10:48:01 +02:00
Daniel Marjamäki 5d7518aa57 simplifyCalculations: Improved handling of casts (#4899) 2013-09-03 06:27:11 +02:00
Robert Reif 0dddd424a4 CheckIO: Improved handling of function return type 2013-09-03 05:50:19 +02:00
Daniel Marjamäki 6819f5ed18 Fixed #4860 (Segfault with another Clucene file) 2013-09-02 05:58:55 +02:00
Daniel Marjamäki a781a83822 Preprocessor: Quicker response for --check-config. No 'normal' code is needed so skip it. 2013-09-01 07:13:48 +02:00
Robert Reif 8790f6d73f Fixed #4999 (Crash with simple code snipped in rev ab30fa3) 2013-08-31 18:58:55 +02:00
Robert Reif 05f2f0e419 CheckIO: improved type info - keep track of original typename. 2013-08-31 06:26:39 +02:00
Lucas Manuel Rodriguez 92b7280d13 Fixed #4995 (False positive - Using 'memset' on class that contains a virtual method) - Better fix 2013-08-30 22:06:20 -03:00
Lucas Manuel Rodriguez c26674dc97 Fixed #4995 (False positive - Using 'memset' on class that contains a virtual method) 2013-08-30 08:46:33 -03:00
Daniel Marjamäki 4a1d1ce1a1 Fixed #3471 (Unused functions: take __attribute__((constructor)) in to consideration) 2013-08-30 06:27:46 +02:00
Robert Reif fc435ae9aa CheckIO: fix false negative for a function in a base class not being found, fix false positives and negatives for std::vector operator [] 2013-08-30 05:41:59 +02:00
Lucas Manuel Rodriguez acd65a6829 Fixed #4991: False Positive - Dangerous usage of 'arr' (not null-terminated) 2013-08-29 08:12:05 -03:00
Robert Reif 2950eb08cb CheckIO: fix some %I64 related false positives. Ticket: #4964 2013-08-29 05:49:16 +02:00
Daniel Marjamäki 3bd1d53c75 Fixed #4941 (segmentation fault (invalid code) in Tokenizer::setVarId) 2013-08-28 19:52:41 +02:00
Daniel Marjamäki 2eca0a93a7 Fixed #4733 (defective unusedStructMember warning) 2013-08-28 06:46:32 +02:00
Robert Reif 5c3315db7a CheckIO: improved handling of functions returning pointers. Ticket: #4964 2013-08-28 05:57:40 +02:00
Daniel Marjamäki 5d7ebadf25 Fixed ¤4596 (False positive, Variable 'value' is not assigned a value (x = x >> value)) 2013-08-27 15:57:38 +02:00
Daniel Marjamäki 4189d7db46 test 2013-08-27 06:47:06 +02:00
Robert Reif 228f6b1a87 Fixed #4984 (False positive: (warning) %f in format string (no. 1) requires a floating point number given in the argument list.) 2013-08-27 05:46:09 +02:00
Daniel Marjamäki 80093f0a40 Fixed #4689 (False positive: Unused private function (used in default argument of constructor)) 2013-08-26 16:41:23 +02:00
Robert Reif a1b9bb0688 CheckIO: Fix false positives for functions returning unknown types and false negatives for functions returning record types 2013-08-26 06:03:26 +02:00
Alexander Mai 450442287c Fixed #4974 (CheckBufferOverrun::writeOutsideBufferSize() too strict) 2013-08-25 18:46:07 +02:00
Daniel Marjamäki acdbbeee44 Fixed #4913 (Tokenizer::simplifyKnownVariables: wrong handling of *--p=0;) 2013-08-25 08:54:33 +02:00
Robert Reif 3d9383aabb Fixed #4975 (False positive: (warning) %s in format string (no. 3) requires a char* given in the argument list. (git/column.c)) 2013-08-25 08:32:10 +02:00
Robert Reif 3c6ca35e09 Fixed #4977 (improve platform type tokenize performance) 2013-08-25 08:29:24 +02:00
Daniel Marjamäki b20f44cf6a Merge pull request #167 from simartin/ticket_4450
Fix Ticket #4450
2013-08-24 14:12:44 -07:00
Robert Reif 26de3646e9 CheckIo: Revised patch that fixes bug in class function return type. Ticket: #4964 2013-08-24 22:34:52 +02:00
Simon Martin b713a69b30 Ticket #4450: Handle comma separated static variable declarations with initializers in brackets. 2013-08-24 22:27:54 +02:00
Lucas Manuel Rodriguez a70b0cd0f3 Fixed FP: Null pointer dereference 2013-08-24 16:50:19 -03:00
Daniel Marjamäki 5ce7189bc0 Merge pull request #166 from last5bits/ticket4213
Fixing #4213 arrayIndexThenCheck and adding tests
2013-08-23 22:36:30 -07:00
Robert Reif 01fd156852 CheckIO: Start to add checking of function return types. Ticket: #4964 2013-08-24 07:25:50 +02:00
Alexey Zhikhartsev d24a321ba2 Fixing #4213 arrayIndexThenCheck and adding tests 2013-08-23 19:04:01 +04:00
Daniel Marjamäki 9b4f6a6b3d Fixed #4701 (false positive unusedFunction when using templates) 2013-08-23 06:47:52 +02:00
Robert Reif 5ce1933687 CheckIo: handle more complex variables 2013-08-23 05:35:57 +02:00
Alexander Mai 7fc6b1344b Added testcases for #4801 (Cppcheck fails to parse Posix (crash in CheckOther::checkPipeParameterSize())) 2013-08-22 21:33:02 +02:00
Alexander Mai 986ec42d79 Fixed #4937 (false positive: Assert calls a function which may have desired side effects) 2013-08-22 06:38:54 +02:00
Daniel Marjamäki c96586b2a9 "automatic conversion from iso-8859-1 formatting to utf-8" 2013-08-21 19:31:01 +00:00
Daniel Marjamäki ef086ee4a9 Merge pull request #164 from last5bits/master
Don't include tinyxml from both lib.pri and test.pro
2013-08-21 07:24:56 -07:00
Daniel Marjamäki f257c62858 Fixed #4846 (false positive: (warning) Comparison of a boolean with an integer.) 2013-08-21 16:17:19 +02:00
Lucas Manuel Rodriguez 006b8055e5 Fixed #4676 (Duplicated inherited member check) 2013-08-20 06:29:19 +02:00
Lucas Manuel Rodriguez 14d3886e19 Fixed #4965 (sizeof(void) check - error in message) 2013-08-20 06:20:52 +02:00
Robert Reif 707dfb4eea Fixed #4964 (printf format argument check only supports simple variables) 2013-08-20 06:16:31 +02:00
Alexey Zhikhartsev 298cbd77ff Don't include tinyxml from both lib.pri and test.pro 2013-08-19 19:44:29 +04:00
Daniel Marjamäki 342142b783 Fixed #4256 (Preprocessor: '#pragma once' doesn't work properly when using -D) 2013-08-18 18:04:06 +02:00