3995 Commits

Author SHA1 Message Date
PKEuS
033e4a2c1f Fixed #3676. 2012-04-02 11:21:04 +02:00
PKEuS
8492685531 Fixed #3697. 2012-04-02 11:02:41 +02:00
Ettl Martin
8e9c09659f astyle run 2012-04-01 15:56:48 +02:00
Ettl Martin
083954049f #1927 added testcase. 2012-04-01 15:54:41 +02:00
Edoardo Prezioso
af02908d42 Fixed ticket #3580 (syntax error in multi variable declaration header). 2012-03-31 18:45:29 +02:00
Daniel Marjamäki
68e6511c87 Fixed #3532 (false positive : missing constructor) 2012-03-31 11:30:26 +02:00
Daniel Marjamäki
1309825bf1 Merge pull request #91 from HeisSpiter/e46c7eb32033b520374e9df8c13bc8589c0602d0
Handle Rtl memory functions in Tokenizer::simplifyMicrosoftMemoryFunctions()
2012-03-28 09:43:14 -07:00
Daniel Marjamäki
abcbe2e49f Fixed #3594 (false positive: returning reference to auto variable) 2012-03-28 18:21:06 +02:00
PKEuS
4f1f6e1824 Improved simplification of calculations:
- Use more generic patterns
- Look on operator precedence more consequently
-> Made a TODO test case from a test case that worked previously, because the calculation is simplified so that the problem isn't detected any more.
Changed comment "Coding style checks" to "Checks", because it didn't fit
2012-03-27 21:29:50 +02:00
Pierre Schweitzer
e46c7eb320 Add the RTL memory functions for the simplifications on Windows code. 2012-03-27 21:24:46 +02:00
Daniel Marjamäki
2ffb3baaed Preprocessor: fixed tests 2012-03-27 20:48:22 +02:00
PKEuS
b37cf11d20 Refactorizations:
- Increased encapsulation by making some functions private
- Removed redundant function CheckBufferOverrun::ArrayInfo::declare
- Avoided copy of ArrayInfo object
- Removed unnecessary and suspicious "if(sizeof(int) == 4)"
2012-03-27 19:40:39 +02:00
Daniel Marjamäki
01ddfb6f80 Fixed #3534 (Broken support for dollar signs in identifiers) 2012-03-27 19:35:41 +02:00
PKEuS
782cd5d228 Fixed #3687: Don't treat catched variables as local ones. 2012-03-26 21:19:42 +02:00
Daniel Marjamäki
c07044b3d3 Fixed #3573 (Preprocessor: handle '!(X)' the same as '!X') 2012-03-26 19:01:45 +02:00
PKEuS
989ac449e4 Made invalidPointerCast message inconclusive for casting from floating point type* to char* (Fixed #3639) 2012-03-25 12:55:39 +02:00
Daniel Marjamäki
2e2fd77b83 xml: fixed test case. 2012-03-25 12:51:10 +02:00
Daniel Marjamäki
ca6a93816b Merge pull request #89 from HeisSpiter/master
Merged two checks to get a better one regarding sizeof
2012-03-25 02:38:04 -07:00
PKEuS
e4d92055e7 Improved sizeofCalculation check:
- Bailout on expanded macros for conclusive checking
- Support for more operators
- Removed indendation counter
Improved checkSignOfUnsignedVariable:
- Made the patterns more generic
- Improved verbose error message (-> Fixed #3080)
2012-03-25 11:32:00 +02:00
PKEuS
0338153de9 Added test case for #3619 2012-03-25 10:33:18 +02:00
PKEuS
e6bcab7c35 Fixed #3360: "type const* var;" is now recognized as variable declaration. 2012-03-24 15:10:06 +01:00
PKEuS
b964551424 Fixed #3252
Make use of std::isupper instead of custom implementation
2012-03-24 13:48:33 +01:00
Daniel Marjamäki
4076c46a33 Merge pull request #88 from leg0/ticket_3675
Fixed ticket #3675.
2012-03-24 00:36:37 -07:00
Pierre Schweitzer
2b5ddb7858 Merge the strncmp & malloc sizeof checks into a more generic test that handles several cases where sizeof is misused, or could be misused 2012-03-23 21:47:13 +01:00
PKEuS
e938235385 Store functions which are declared but not implemented in the function list of the containing scope -> Fixed #3679
Refactorizations:
- Simplified some code
- Improved condition in findVariableType to reduce unnecessary comparisions of empty strings.
2012-03-23 17:59:51 +01:00
Ahti Legonkov
780481e82a Fixed ticket #3675. 2012-03-23 01:45:47 +02:00
Daniel Marjamäki
d04698df13 Merge pull request #87 from HeisSpiter/master
Fix a bug introduced with a previous commit and add a new check
2012-03-21 13:20:39 -07:00
Pierre Schweitzer
ec44967e13 Add a new test to check improper sizeof usage. It's for the moment limited to malloc calls. 2012-03-21 21:13:09 +01:00
PKEuS
002389f836 Fixed #3677
Added forgotten testcase for #3672
2012-03-21 18:40:32 +01:00
Pierre Schweitzer
9d002916f4 Fix line number displayed on leakNoVarr error 2012-03-20 22:28:56 +01:00
Daniel Marjamäki
a2351ba44f Fixed #3648 (Internal error: Token::Match called with varid 0) 2012-03-20 19:05:24 +01:00
Daniel Marjamäki
d6c8de104c Revert "Fixed #3648 (Internal error: Token::Match called with varid 0)"
This reverts commit 1fa1ddccbaaf1b0e3506b71bdcb337d952f60be3.
2012-03-20 19:00:16 +01:00
Daniel Marjamäki
1fa1ddccba Fixed #3648 (Internal error: Token::Match called with varid 0) 2012-03-20 18:58:27 +01:00
PKEuS
cb2a754983 Implemented support for C++11 right angle brackets (>>)
Implemented support for linkage between < and > (Information: It is possible that under certain circumstances comparision operators are linked, since its sometimes difficult to separate between them.)
2012-03-19 18:45:47 +01:00
PKEuS
7055526f4a Fixed #3672: bitwise and operator in if/while does no longer confuse setVarId code
Improvements to CheckUnusedVar:
- Improved handling of arrays of struct/class instances
- Differ between addressof and bitwise-and operator
- Made some members private to improve encapsulation
- Replaced some simple patterns by direct function calls
- Removed an unnecessary condition
2012-03-19 17:41:16 +01:00
Stefan Weil
f079ee7c31 test: Fix preprocessor code in test data
This is not valid preprocessor code: #ifdef A == 1

Signed-off-by: Stefan Weil <sw@weilnetz.de>
2012-03-18 16:50:16 +01:00
Pierre Schweitzer
544a1f714e Updated error message about not taking return value from function that returns allocated memory 2012-03-18 13:45:50 +01:00
Daniel Marjamäki
1e125dc017 Fixed #3671 (False positive: Resource leak: fd) 2012-03-18 11:54:09 +01:00
Daniel Marjamäki
29063098bf Fixed #3670 (false positive: Allocation with open never assigned) 2012-03-18 07:49:22 +01:00
Daniel Marjamäki
2757229064 Fixed #3666 (False positive: Uninitialized variable (taking address)) 2012-03-16 17:28:05 +01:00
PKEuS
0340764726 Improved nullpointer check: Detect dereferences by streams (#410)
Refactorizations:
- Replaced || by %oror% in Token::Match patterns
- Replaced some simple patterns by direct comparisions, replaced Match call with simpleMatch
- Increased data encapsulation by making more members private in CheckNullpointer
2012-03-16 17:24:03 +01:00
PKEuS
b6057a1148 Improved CheckOther::checkIncorrectLogicOperator:
- Added a lot of additional pattern
- Rewrote error messages to make them more understandable and better fitting to the situation. (Fixed #3664)
- Cleanup in unit tests
Improved message of static string comparision check
2012-03-15 20:38:28 +01:00
Daniel Marjamäki
fc84f55f80 Fixed #3536 (Preprocessor #if fails to correctly compare two #defined values) 2012-03-15 20:04:34 +01:00
Daniel Marjamäki
813a193bb6 Merge pull request #84 from HeisSpiter/master
Fix for bug #3439
2012-03-15 11:37:42 -07:00
Daniel Marjamäki
555e8c6efc Fixed #36221 (Input streams: Wrong token list simplification) 2012-03-15 19:09:36 +01:00
Pierre Schweitzer
5dc4fcaa0a Add two tests for the new memory leak detection 2012-03-14 23:45:20 +01:00
PKEuS
7cfffc9c9d Improved CheckOther::checkIncorrectLogicOperator:
- Implemented automatic swapping of conditions and operands
- Added several patterns
- Added support for conditions outside of if/while
2012-03-12 19:06:30 +01:00
Daniel Marjamäki
a9d56f2738 Tokenizer: simplify known variable value inside conditional block 2012-03-12 17:32:30 +01:00
PKEuS
6f164de609 Improved static string comparision check: Implemented #3214
Fixed false negative on argument count of fnprintf/snprintf when first variable argument is a string. (#3655)
Uncommented call of virtualDestructorError in getErrorMessages in checkclass.h
Refactorizations:
- Rearranged code in checkother.h to make ordering more consistent and to increase encapsulation of private data
- Replaced some single-token-patterns
2012-03-11 11:01:39 +01:00
Daniel Marjamäki
3f1ab5af9b charvar: dont write warning about char type array index when array is small and the full valid range is accessible with the char type. If there are out of bounds access then, it is not because the type of the variable. 2012-03-10 12:19:28 +01:00