Commit Graph

128 Commits

Author SHA1 Message Date
PKEuS 0205582161 Fixed (printf with std::string as parameter) 2011-12-18 19:41:21 +01:00
PKEuS 1f438b0505 Fixed (Improve check: Detect unreachable code) 2011-12-03 11:43:23 +01:00
Daniel Marjamäki b538f49a6e Merge pull request from richq/sameexpr
Fix for  - same expression on both side of '&&' false positives
2011-11-29 08:50:02 -08:00
PKEuS 71c8669261 Fixed , and (printf format string false positives) 2011-11-27 07:29:09 +01:00
Richard Quirk d28cf42d4c Fix ticket (same expression false positives)
Add a check for function calls that have no side effects. That means
known const methods and a list including strcmp, strlen, etc.

If the function is not known to be side effect-free then no style
warning is given.

Add test cases for the duplicate expressions.
2011-11-23 21:39:03 +01:00
Daniel Marjamäki 5b5ea29f23 Mismatching format string parameters. Made check experimental. See tickets , and 2011-11-21 07:31:06 +01:00
Marek Zmysłowski 994f08fdf0 Fixed (new check: wrong value passed to isgraph function) 2011-11-17 16:31:16 +01:00
Richard Quirk 4cb97edbaf Improved same expression check for ticket
Expand the logic for the check for the same expression on both sides of
the || and && operators. Now expressions can be more complex, with the
"alt" variable helping to fudge operator precedence to avoid false
positives.
2011-11-08 21:54:42 +01:00
Daniel Marjamäki fa076598ad Fixed (false positive: (style) Checking if unsigned variable 'i' is less than zero.) 2011-11-06 18:24:37 +01:00
Daniel Marjamäki d3b27c40fc fixed --doc output 2011-11-05 07:45:30 +01:00
PKEuS 0c469bae41 Fixed (New Check: Detect wrong usage of printf/scanf) 2011-11-05 07:29:53 +01:00
Richard Quirk 665cdfabdc Warn when sizeof is used in strncmp ticket
This checks for the case where the user thought sizeof(buf) gave the
size in bytes of 'buf' in code like the following:

  const char *buf = "Hello World";
  strncmp(buf, other, sizeof(buf));
2011-10-28 22:14:55 +02:00
Richard Quirk 90c7db15a0 Add check for comparison of identical string variables 2011-10-28 22:12:51 +02:00
Daniel Marjamaki 5f4c882b08 minor formatting updates of --doc output 2011-10-27 10:50:40 +02:00
PKEuS 20179673ce Fixed (new check: missuse of std::cout) 2011-10-22 17:12:52 +02:00
PKEuS ea02bd905a Fixed (Boolean comparison with string literals) 2011-10-18 21:37:03 +02:00
Thomas Jarosch a52b73f9f9 Fix (Simplify pointer to standard type, C only)
The symbol database is unavailable during token simplification
and &data[0] might return something completely different for C++.

Moved code_is_c() from checkOther to Tokenizer.
2011-10-16 08:09:57 +02:00
Daniel Marjamäki 6f8e42a5af changed the astyle formatting flags 2011-10-13 20:53:06 +02:00
Zachary Blair 82366918ff Fixed (switch case fall through: redundant strcpy) 2011-10-13 01:27:22 -07:00
Thomas Jarosch 849bee8437 [PATCH] Detect suspicious use of semicolon after 'if/for/while'
statements if they are followed by a {..} block.

Examples are:

for (int i = 0; i < 10; ++i);
{
   printf("i)";
}

or

if (i == 100);
{
   die("Wrong argument");
}

This new check is active if you enable inconclusive checks.
2011-10-11 08:41:39 +02:00
Zachary Blair fcf360825a Fixed (New check: Using && instead of &) 2011-10-10 10:11:17 -07:00
Daniel Marjamäki 73fb6725e6 Readded CheckOther::bitwiseOnBoolean as inconclusive check 2011-10-06 22:01:48 +02:00
Daniel Marjamäki 09109f19f8 Removed CheckOther::bitwiseOnBoolean check. The reasons can be seen in my comments in ticket . 2011-10-05 20:46:07 +02:00
PKEuS 494d3af3d1 Fixed (Be more strict about int vs. bool, part II) 2011-10-05 20:30:36 +02:00
Robert Reif f29b7f9f08 fix (false negative: Boolean variable is used in bitwise operation) 2011-09-02 17:19:06 -04:00
Robert Reif 2dd93dff75 move unused variable checks from checkother to checkunusedvar 2011-08-19 14:35:25 -04:00
Robert Reif 9fbef3ca7b fix (new check: when first comparison is true, the 2nd comparison is always true) 2011-08-19 13:28:37 -04:00
Daniel Marjamäki 2dd1e290eb fixed false positives for the 'bitwise operator / comparison operator' check 2011-08-19 18:06:28 +02:00
Robert Reif eda9ff6fc5 refactor checkother to move error messages to follow check and rename some error functions to end in Error 2011-08-19 11:53:43 -04:00
Daniel Marjamäki 40b493e621 Improve check: Clarify condition (using boolean result in bitwise operation) 2011-08-19 13:40:54 +02:00
Daniel Marjamäki a7728fef48 New check: warn about such suspicious conditions: '(a & b == c)' 2011-08-19 00:15:20 +02:00
Robert Reif 85b2bd21dc fix (new check: testing if unsigned variable is less than 0) 2011-08-06 19:23:09 -04:00
Daniel Marjamäki dc629b4c39 Fixed 'possible null pointer dereference' warning messages 2011-07-28 08:12:21 +02:00
Daniel Marjamäki d2c0e5e7e6 Fixed (New Check : bool pointer null truth assignment) 2011-07-28 07:28:24 +02:00
Robert Reif 430d22032d fix condition always false or true) 2011-07-16 22:06:23 -04:00
Zachary Blair 997a3652d2 Fixed (New check: Duplicate break statements in switch) 2011-07-14 17:12:56 -07:00
Robert Reif 7826b5e22d add support for detecting unused function variables of type class or struct 2011-06-30 21:58:11 -04:00
seb777 287840e6bc fix 2011-05-25 01:45:58 +08:00
Zachary Blair 46645ab327 Fixed (new check: statement that is always true (strcmp)) 2011-04-25 22:45:27 -07:00
Robert Reif 56212370d1 add check for same expression on both sides of an operator (part of ) 2011-04-10 10:25:02 -04:00
Robert Reif 66de41b313 partial fix for (common logic or cut and paste errors) 2011-04-09 17:05:27 -04:00
Robert Reif 7e403ae210 fix (add detection of duplicated if else-cases) 2011-04-09 15:14:01 -04:00
Daniel Marjamäki 63acd9bb3e Clarify calculation: Added warnings for << and >> 2011-04-03 22:12:22 +02:00
Daniel Marjamäki 855b01cd5a Clarify precedence 'a*b?c:d' : warn for addition, subtraction and division also. tried to clarify the message more 2011-04-02 11:43:20 +02:00
Stefan Weil 0e4cf7a2d6 Spell checks 2011-03-30 16:44:16 +02:00
Daniel Marjamäki 3e1df1b463 Clarify condition: re-enabled check 2011-03-13 12:16:55 +01:00
Daniel Marjamäki e94ebd829d suspicious condition: commented out the check temporarily - there are some false positives I'll need to fix 2011-03-09 22:29:50 +01:00
Daniel Marjamäki db48158b28 Suspicious condition: Added new check for conditions that contains assignment+comparison 2011-03-09 22:20:14 +01:00
Greg Hewgill a532a9690e full implementation of switch case fall through 2011-03-05 00:45:57 +13:00
Greg Hewgill 93ea774484 initial simplistic implementation of switchCaseFallThrough 2011-03-05 00:45:57 +13:00