Commit Graph

1403 Commits

Author SHA1 Message Date
Daniel Marjamäki 84d9282da2 Memory leaks: remove redundant 'if return ; else|' 2010-09-12 21:41:13 +02:00
Robert Reif aae2986361 Fixed #2042 (#error messages should be displayed when user defines are used) 2010-09-12 21:30:47 +02:00
Daniel Marjamäki 5a95303405 Memory leaks: reduce 'loop { if continue ;' to 'loop {' 2010-09-12 21:15:19 +02:00
Daniel Marjamäki 0a30aba2e6 Memory leaks: insert ';' in the simplifycode to split up the commands 2010-09-12 21:04:05 +02:00
Daniel Marjamäki 9c4a05a3bd Memory leaks: simplify 'loop { use ; callfunc ; }' to 'use ;' 2010-09-12 20:45:30 +02:00
Daniel Marjamäki ceeef847ef Memory leaks: simplify 'if break ; break ;' 2010-09-11 21:48:40 +02:00
Daniel Marjamäki 7aa0504692 Memory leaks: simplify 'use use' 2010-09-11 21:32:21 +02:00
Daniel Marjamäki 424fe064cb Memory leaks: don't write debug warning for '; alloc ; dealloc ; return ; }' 2010-09-11 21:14:20 +02:00
Daniel Marjamäki d4e045cee5 Memory leaks: fixed try/catch and nested loops simplifications 2010-09-11 21:07:35 +02:00
Daniel Marjamäki 4064712baa Memory leaks: improved simplification for 'callfunc' 2010-09-11 20:49:24 +02:00
Daniel Marjamäki 73122c3e8a Memory leaks: Improved the simplifycode for 'use ; if| use ;' 2010-09-11 20:18:16 +02:00
Daniel Marjamäki ecd863700e Fixed #2023 (false positive with realloc()) 2010-09-11 11:15:04 +02:00
Robert Reif 69afc0a0db Symbol database: fixed false positive. ticket: #1895 2010-09-11 08:23:30 +02:00
Daniel Marjamäki 0418731473 Fixed #2030 (False positive: Uninitialized variable when function does not return) 2010-09-10 19:02:40 +02:00
Robert Reif 5a6eff90d1 Symbol database: Refactoring. ticket: #1895 2010-09-10 07:02:49 +02:00
Daniel Marjamäki 0afd19c59b Fixed #2039 (unions not handled properly, false positive about initialization) 2010-09-09 20:15:00 +02:00
Daniel Marjamäki 929a54e1b0 Fixed #2038 (memleak false positive with assignment expression in arguments) 2010-09-09 19:40:36 +02:00
Daniel Marjamäki 5af0d65aef Fixed #2025 (iso646 c++ operators are not handled correctly) 2010-09-09 17:43:09 +02:00
Robert Reif 6d35396720 Symbol database: refactoring - differentiate between member data initialization and assignment and save the order of variable declarations. makes it possible to create some additional checks. ticket: #1895 2010-09-09 07:26:40 +02:00
Robert Reif c3762903a9 Symbol database: fixed false negative for uninitialized variable. ticket: #1895 2010-09-09 07:21:51 +02:00
Daniel Marjamäki 80be31de13 Fixed #2037 (memleak not detected in exit path when variable used) 2010-09-08 20:03:22 +02:00
Daniel Marjamäki 8e746ca53f CheckMemoryleaks: reduce 'use ; if return ; dealloc ;' to 'if return ; dealloc ;'. ticket: #2037 2010-09-08 19:22:03 +02:00
Robert Reif 2fc2859b68 Fixed #2035 (Enum 'qboolean' hides typedef with same name) 2010-09-08 06:45:57 +02:00
Daniel Marjamäki 5688412f00 Fixed #2030 (False positive: Uninitialized variable when function does not return) 2010-09-07 20:25:29 +02:00
Daniel Marjamäki 3a4cda0f0d Fixed #2034 (false positive: unused private function (Borland C++ __property)) 2010-09-07 18:37:43 +02:00
Reijo Tomperi d0423ff8ac Set encoding to UTF-8 for some files. 2010-09-06 22:39:02 +03:00
Daniel Marjamäki cfe694330f Fixed #2024 (Internal Error on multiple append calls on same string object) 2010-09-06 21:34:51 +02:00
Kimmo Varis e800490b50 Add back <stdexcept> as GCC requires it.
I removed <stdexcept> after checking it builds with VS 2008. But Dan
pointed out GCC needs that header.
2010-09-06 22:00:56 +03:00
Kimmo Varis 3551ce8b58 Remove unneeded includes. 2010-09-06 21:08:50 +03:00
Robert Reif 28c5893ee0 const functions: fixed false negatives for the type P. ticket: #1884 2010-09-06 19:04:14 +02:00
Daniel Marjamäki cfbc06c8b6 removed 'empty catch block' check. to avoid false positives we'll need to check if it is bad with an empty catch block (dead pointer/undefined behaviour/etc) 2010-09-05 13:27:58 +02:00
Kimmo Varis 120b6b9133 Remove unused function.
I forgot to remove the function that was used in command line
parsing code.
2010-09-05 11:24:01 +03:00
Kimmo Varis 45eaebe423 Move CLI command line parsing to own class. 2010-09-05 11:17:31 +03:00
Daniel Marjamäki 0f8bc429ad Fixed #2021 (false positive: syntax error with -std=gnu++0x code) 2010-09-05 08:16:19 +02:00
Daniel Marjamäki 7d3ccb064b Fixed #2020 (false positive: (error) Uninitialized variable, used in asm statement) 2010-09-05 08:06:37 +02:00
Daniel Marjamäki 51bc784537 Tokenizer: Fixed problem in Tokenizer::simplifyRedundantParanthesis when simplifying 'void delete(double num);' 2010-09-05 07:53:43 +02:00
Daniel Marjamäki a2b4e5641f Fixed #2010 (missing continue in switch check ?) 2010-09-04 14:24:45 +02:00
Daniel Marjamäki 75fb99cee7 Fixed #2015 (### Internal error in Cppcheck. Please report it.) 2010-09-04 11:49:56 +02:00
Daniel Marjamäki 9415423352 Fixed #2017 (false positive::struct or union member 'Base::m_ui' is never used) 2010-09-04 11:21:34 +02:00
Daniel Marjamäki beb4dddb2e Refactoring CheckMemoryLeaks 2010-09-04 10:06:34 +02:00
Daniel Marjamäki f490ebcf88 Fixed #1872 (Confused -v switch) 2010-09-03 13:30:49 +02:00
Daniel Marjamäki 1938b8a423 Fixed #1976 (False Positives with unions) 2010-09-03 08:10:29 +02:00
Daniel Marjamäki fb4fce466e Fixed #2014 (False positive with longjmp) 2010-09-03 07:18:01 +02:00
Daniel Marjamäki 427c0f4bfd Fixed #1975 (segmentation fault of cppcheck) 2010-09-02 23:01:12 +02:00
Daniel Marjamäki 190a0040b7 Null pointer: Fixed false positive 2010-09-02 21:08:58 +02:00
Daniel Marjamäki 01b05618e5 Tokenizer: Fixed Cppcheck warnings 2010-09-02 20:51:01 +02:00
Robert Reif 80fdf1ca51 Symbol database: Fixed false negatives for unused private functions. Ticket: #1895 2010-09-02 19:22:54 +02:00
Sbastien Debrard 2049f70754 Fixed #1972 (file extensions) 2010-09-02 19:17:47 +02:00
Robert Reif fbffaade2e Fixed #2011 (Parser error in template function) 2010-09-02 19:09:06 +02:00
Robert Reif cb318c21e3 Symbol database: adds support for inline functions returning function pointers and starts to convert privateFunctions over to the symbol database. Ticket: #1895 2010-09-02 07:40:20 +02:00
Daniel Marjamäki eb74bfc15a Fixed #2007 (False positive: member variable not initialized (Borland C++ property)) 2010-09-01 18:10:12 +02:00
Robert Reif 4153b7d24b refactoring namespace handling. ticket: #2001 2010-09-01 16:47:53 +02:00
Robert Reif 7a8190e188 Fixed #2002 (Wrong operator() parsing) 2010-09-01 06:32:46 +02:00
Kimmo Varis 63f1de509c Merge branch 'master' of github.com:danmar/cppcheck 2010-08-31 23:26:25 +03:00
Daniel Marjamäki 55e0e435bd Fixed #1959 (Do you support the oracle Pro*C ?) 2010-08-31 23:25:41 +03:00
Daniel Marjamäki 3a8e7b4bf0 Exception safety: Removed the noisy checks and keep the useful checks 2010-08-31 22:22:59 +02:00
Kimmo Varis 42dfd255e3 Fix Linux makefile after moving timer code to own files. 2010-08-31 23:22:48 +03:00
Kimmo Varis d417256c98 Move timer code to own cpp/h files. 2010-08-31 23:18:07 +03:00
Daniel Marjamäki b2a775f3e0 Fixed #1959 (Do you support the oracle Pro*C ?) 2010-08-31 21:40:51 +02:00
Kimmo Varis 9a52b35144 Merge branch 'master' of github.com:danmar/cppcheck 2010-08-31 22:05:08 +03:00
Daniel Marjamäki 688b2aefe9 Tokenizer: Fixed warnings about unsigned / signed conversion 2010-08-31 21:04:17 +02:00
Kimmo Varis ee7bc64197 Fix building CLI with VS2010. 2010-08-31 22:04:13 +03:00
Daniel Marjamäki 8ff1e71b22 Fixed #2004 (False positive in 'variable assigned a value but is never used' check) 2010-08-31 20:58:37 +02:00
Kimmo Varis e825fb1e70 Fix CLI build with VS2008. 2010-08-31 21:58:03 +03:00
Daniel Marjamäki 1d78b5072d Fixed #1996 (False positive for 'Variable foo is assigned a value that is never used') 2010-08-31 20:33:28 +02:00
Daniel Marjamäki 513826d8c2 Tokenizer::setVarId : don't give operator function variable id 'operator new []('. Ticket: #1997 2010-08-31 20:15:24 +02:00
Daniel Marjamäki fbe11b9bb9 Fixed #1999 (False positive: uninitialized variable (__published variables)) 2010-08-31 19:48:04 +02:00
Debrard Sébastien 071f7d5f34 Fixed #2005 (refactoring dangerous / obsolete functions checks) 2010-08-31 18:58:01 +02:00
Robert Reif 4463f650d0 Fixed #2003 (false positive in set functions) 2010-08-31 17:59:17 +02:00
Robert Reif 5aab602709 Fixed #2001 (No 'The function ... can be const' warnings when base class is in namespace.) 2010-08-31 17:57:42 +02:00
Robert Reif c56911ba6a Fixed #2000 (segmentation fault of cppcheck with bitfield) 2010-08-31 17:51:10 +02:00
Robert Reif 16efc9be26 Fixed #1887 (internal error in GLee) 2010-08-31 17:48:19 +02:00
Daniel Marjamäki dcc02166c6 Fixed #1998 (VS compiler warning with current HEAD) 2010-08-30 21:45:26 +02:00
Daniel Marjamäki 7ec3c72a19 Fixed #1997 (operator new [] simplified wrong) 2010-08-30 21:06:22 +02:00
Daniel Marjamäki 9c499db17b Revert "Visual Studio: Added /MP switch"
This reverts commit 2450a80556.
2010-08-30 17:51:08 +02:00
Daniel Marjamäki 527354b4be Fixed #1886 (Associate header file with code file including it) 2010-08-30 17:44:46 +02:00
Robert Reif 96d73c189c Symbol database: better handling of operator functions. Ticket: #1895 2010-08-30 17:14:20 +02:00
Robert Reif 0d530711f6 Fixed #1988 (segmentation fault of cppcheck with wrong syntax of -std=c++0x) 2010-08-30 07:25:17 +02:00
Robert Reif a862e982ff Fixed #1993 (False negatives: uninitialised variables in constructor) 2010-08-29 16:36:10 +02:00
Daniel Marjamäki edec43c913 mention the manual in the --help output 2010-08-29 13:21:35 +02:00
Daniel Marjamäki 02939c78f8 Fixed #1994 (False 'Found obsolete function' positive) 2010-08-29 12:01:32 +02:00
Daniel Marjamäki 71453871d4 Fixed #1989 (false positive: Variable 'Aux13' is assigned a value that is never used) 2010-08-28 13:32:43 +02:00
Robert Reif b1bf201a8a Symbol database: Refactorings. Ticket: #1895 2010-08-28 11:23:23 +02:00
Daniel Marjamäki 83a8879f11 Tokenizer::simplifyInitVar : Refactorings and fixes related to ticket #1989 2010-08-27 22:58:21 +02:00
Daniel Marjamäki d45186d645 Added --debug-warnings that we can use to enable various debug warnings 2010-08-27 20:28:00 +02:00
Daniel Marjamäki 8eee4cf2e8 Fixed #1984 (false positive: syntax error in for loop (< -operator)) 2010-08-26 23:24:01 +02:00
Daniel Marjamäki 57523574ef Fixed #1985 (false positive: syntax error in try catch-block with for()-loop inside) 2010-08-26 23:19:18 +02:00
Daniel Marjamäki 02088443f9 quick fix for #1969 (False positive: Uninitialized variable when exit() is called before variable is used.) 2010-08-26 23:11:04 +02:00
Daniel Marjamäki 0597c50a47 Fixed #1966 (False positive: Unused private function (virtual function in base class)) 2010-08-26 22:05:45 +02:00
Daniel Marjamäki df87ce9e04 Fixed #1945 (False positives when a for loop header is in a macro) 2010-08-26 21:57:48 +02:00
Daniel Marjamäki 1d9e484053 Fixed #1951 (Preprocessor: Compound macro statements not handled correctly) 2010-08-26 21:33:45 +02:00
Robert Reif 499a12c896 Tokenizer::simplifyTypedef: Report about unhandled typedefs. Ticket: #1821 2010-08-26 20:44:13 +02:00
Daniel Marjamäki 8b18aaff25 Fixed #1981 (false positive: syntax error on template operator <) 2010-08-26 07:43:00 +02:00
Robert Reif 5c3ecc31da Code cleanup 2010-08-26 07:32:48 +02:00
Daniel Marjamäki ca9cdf5bf5 Tokenizer: If syntax errors are found then don't return a token list. Ticket: #1961 2010-08-25 22:10:21 +02:00
Daniel Marjamäki 6c8287913c Tokenizer: Detect some syntax errors when trying to use templates. Ticket: #1961 2010-08-25 21:57:57 +02:00
Robert Reif 4a6070d2af fix 2 problems related to ticket 1976:
1. nested unnamed anonymous structures and unions were not supported.
 2. declaration split up in class had bug if proceeded by access specifier.
2010-08-25 20:17:31 +02:00
Robert Reif ff4ebbede3 Fixed gcc compiler warning about uninitialized variable tok1. Ticket: #1965 2010-08-25 07:38:53 +02:00
Daniel Marjamäki e7f7c77eab Fixed #1948 (C++ class scoping not followed) 2010-08-24 22:04:14 +02:00
Daniel Marjamäki ca407110dc Fixed #1936 (Internal error. Token::Match called with varid 0.) 2010-08-24 20:58:22 +02:00
Daniel Marjamäki 225114df1c Fixed #1960 (cppcheck hangs with 100% cpu load) 2010-08-24 20:50:04 +02:00
Robert Reif d961a6ec9e Tokenizer: Fixed cppcheck and compiler warnings 2010-08-24 07:28:56 +02:00
Daniel Marjamäki 39a69b0871 Fixed #1970 (Internal error. CheckClass::SpaceInfo::getVarList found variable '_root' with varid 0.) 2010-08-23 21:22:11 +02:00
Daniel Marjamäki f7063bed7c Fixed #1967 (Tokenizer::setVarid doesn't set variable value (list of function pointers)) 2010-08-23 20:15:02 +02:00
Daniel Marjamäki 3b716dfcc9 Tokenizer: Simplified the bitfields handling. This patch just looks for the bitfield signature but doesn't care about the type. I don't think any other code would have this same signature so it should be OK. We could add code to only look in structures and classes but I don't think that is necessary. Ticket: #1956 2010-08-23 07:29:05 +02:00
Robert Reif 807269b5e9 Refactoring handling of microsoft types. Ticket: #1956 2010-08-22 21:53:45 +02:00
Robert Reif cb7b508f77 Tokenizer::simplifyBitfields: fixed more issues. Ticket #1956 2010-08-22 13:25:47 +02:00
Robert Reif 3fcca23b53 Tokenizer: better handling of bitfields. Ticket: #1956 2010-08-22 09:41:22 +02:00
Robert Reif 77d634127c Tokenizer: simplify DECLARE_DYNAMIC and DECLARE_DYNCREATE 2010-08-22 09:38:05 +02:00
Robert Reif ac9078857e Tokenizer: simplify bitfields. Ticket: #1956 2010-08-21 16:34:41 +02:00
Robert Reif 9c594684db Tokenizer: handle DECLARE_DYNAMIC. Ticket: #1956 2010-08-21 07:55:14 +02:00
Robert Reif 7173e01926 Fixed #1965 (tokenizer::simplifyEnum add support for C++0x enums) 2010-08-21 07:44:56 +02:00
Robert Reif 7b2b844b8e Fixed #1964 (False positive: function can be const (get this)) 2010-08-20 19:47:41 +02:00
Daniel Marjamäki 741ce40e3d Tokenizer::setVarId : fixed problem for class members 2010-08-20 19:28:10 +02:00
Daniel Marjamäki 3dd504bcb2 updates of Visual Studio files 2010-08-20 17:59:09 +02:00
Robert Reif 66de0d8f72 Fixed #1954 (False positive: function can be const (derived class)) 2010-08-20 07:28:31 +02:00
Robert Reif f123e951ec Fixed #1963 (typedef array incorrectly simplified) 2010-08-20 07:11:02 +02:00
Daniel Marjamäki cfa7b4906e Symbol database: bug fixes. Ticket: #1895 2010-08-18 22:42:04 +02:00
Daniel Marjamäki 0934035fcf Fixed #1955 (cppcheck hangs with 100% cpu load) 2010-08-18 22:22:14 +02:00
Daniel Marjamäki 1fd773b245 Fixed #1944 (segfault in Tokenizer::simplifyLogicalOperator) 2010-08-17 20:06:20 +02:00
Daniel Marjamäki aa00587fed #1943 (segmentation fault of cppcheck (= default)) 2010-08-17 19:50:21 +02:00
Daniel Marjamäki 1faaa5471c Fixed #1946 ('Dereferenced iterator erased' false positive) 2010-08-17 18:56:11 +02:00
Robert Reif 86f1718b1c Symbol database: Fixed the error reporting so errors are shown in the gui. Ticket: #1895 2010-08-17 17:20:54 +02:00
Daniel Marjamäki 64cdee62ef Fixed #1942 (false positive: uninitialized variable in __asm__ statement) 2010-08-16 19:38:47 +02:00
Robert Reif cc079462dd Symbol database: fixed problems with namespaces. Ticket: #1895 2010-08-16 18:55:39 +02:00
Daniel Marjamäki 85acb005a2 Fixed #1941 (Internal error::Space Info::getVarList found variable with varid 0) 2010-08-16 18:51:25 +02:00
Sbastien Debrard 296289d190 Refactoring of obsolete functions checks. Ticket: #1940 2010-08-15 21:26:13 +02:00
Daniel Marjamäki 72916caee6 Reverted 7398453cb0 2010-08-15 21:25:14 +02:00
Sbastien Debrard 7398453cb0 Refactoring of obsolete functions checks. Ticket: #1940 2010-08-15 21:22:33 +02:00
Daniel Marjamäki fe482785aa Variable Id: Fixed various bugs related to templates and bitfields. Ticket: #1928 2010-08-15 11:54:28 +02:00
Daniel Marjamäki 4949869f5f removed unused variable 'dot' 2010-08-15 09:03:16 +02:00
Daniel Marjamäki e1d6320a55 quick fix for #1905 (false positive: the function '...' can be declared as const (member array is assigned)) 2010-08-15 08:30:21 +02:00
Robert Reif 556ef9afcf Symbol database: report error when it is detected that a variable id is missing. Ticket: #1928 2010-08-15 08:03:27 +02:00
Erik Lax 54b7f972c9 Fixed #1932 (false positive: unused private function) 2010-08-15 07:44:08 +02:00
Zachary Blair c8087d3389 Fixed #162 (Initialisation of a variable by itself) 2010-08-14 21:34:04 -07:00
Daniel Marjamäki 4ff9a1ac94 Fixed #1928 (missing varId for template class variable) 2010-08-14 20:50:49 +02:00
Erik Lax 248bb3b6e8 Fixed #1935 (false negative: detect buffer overrun from network functions (recv, recvfrom..)) 2010-08-14 20:19:23 +02:00
Sbastien Debrard a55a06cea5 Fixed #1933 (Add checks for obsolete functions) 2010-08-14 20:13:46 +02:00
Daniel Marjamäki 00dc3adc18 ErrorLogger: Added better \n handling to the XML output 2010-08-14 18:36:36 +02:00
Daniel Marjamäki 2e249670b3 dangerous scanf usage: Added verbose information 2010-08-14 18:35:48 +02:00
Daniel Marjamäki 5846630fa9 Added scanf check. Modified patch submitted by Eric Sesterhenn 2010-08-14 15:15:12 +02:00
Robert Reif 7c18ece65d Symbol database: Fixed bug when end of namespace wasn't found. Ticket: #1895 2010-08-14 08:16:53 +02:00
Daniel Marjamäki 6efad92647 dangerous functions: removed 'scanf' because it can be used in a safe way 2010-08-14 07:50:35 +02:00
Robert Reif db78c3acdf Symbol database: fixed linenr problem in virtual destructors check 2010-08-13 23:57:53 +02:00
Daniel Marjamäki e9a3d03372 Dangerous functions: Improved error messages 2010-08-13 22:27:45 +02:00
Erik Lax 032d2678aa Fixed #1930 (false negative: bad iterators checks fails to detect bugs with preincrement) 2010-08-13 20:54:31 +02:00
Robert Reif ab7bb876f9 Symbol database: Refactoring virtual destructors check. Ticket: #1895 2010-08-13 18:34:02 +02:00
Robert Reif a994f235c5 Symbol database: move finding base classes until after all classes are found because of template instantiation. Ticket: #1895 2010-08-13 07:35:30 +02:00
Robert Reif b92644a30c Symbol database: refactoring variable handling. Ticket: #1895 2010-08-13 07:34:34 +02:00
Daniel Marjamäki 6cb7fefdbf Added command line option --report-progress. ticket: #1926 2010-08-12 21:03:33 +02:00