Daniel Marjamäki
ed0c971b1f
updated version to 1.30
2009-03-08 16:15:25 +01:00
Reijo Tomperi
765da17132
Astyle fix
2009-03-08 09:49:04 +02:00
Reijo Tomperi
5be85d71a0
Fix ticket #145 (Line numbers are invalid if file is included inside #ifdef)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/145
2009-03-08 09:45:53 +02:00
unknown
bc6e1a74d0
Windows Qt compilation fixes.
...
FileLister::RecursiveAddFiles failed to compile in Windows when GUI was compiled. Since that method wasn't used in Qt build I ifdeffed it out.
Also removed vcl related code from checkdialog since that was removed from release.
2009-03-07 18:53:50 +02:00
Daniel Marjamäki
fe2aee131d
Fix ticket #140 (New command line option --auto-dealloc), added documentation
2009-03-07 08:56:12 +01:00
Reijo Tomperi
1ab57390cf
Fix ticket #137 (--version would be nice) and also do some cleanup for help texts
...
http://apps.sourceforge.net/trac/cppcheck/ticket/137
2009-03-06 23:17:42 +02:00
Reijo Tomperi
d725f0df58
Fix ticket #139 (Compilation error on building cppcheck version 1.29 with gcc-4.3.2 on Ubuntu 8.10)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/139
2009-03-06 22:46:32 +02:00
Daniel Marjamäki
cc8a6168e7
astyle formatting
2009-03-06 18:13:41 +01:00
Daniel Marjamäki
113b3c1d21
auto-deallocated classes: added command line option for specifying .lst file ( http://apps.sourceforge.net/trac/cppcheck/ticket/120 )
2009-03-06 17:43:33 +01:00
Daniel Marjamäki
d7cd09cb6e
added internal support for handling list of classes that are automaticly deallocated
2009-03-06 07:22:07 +01:00
Reijo Tomperi
28475b2986
Fix ticket #135 (Add option to control main() exit value)
2009-03-06 02:03:31 +02:00
Reijo Tomperi
6fcb89f136
Fix segmentation fault that happens with invalid code.
2009-03-05 23:22:00 +02:00
Reijo Tomperi
42a9eb9e53
Fix ticket #133 (Segmentation fault when static_cast is in for loop)
2009-03-05 21:32:02 +02:00
Daniel Marjamäki
0011d059e6
checkbufferoverrun: fixed bug - skip some checks when variable id is unknown (Ticket: 138)
2009-03-05 18:28:59 +01:00
Daniel Marjamäki
4522bcd680
reverted accidental changes committed in [1330]
2009-03-04 17:10:28 +00:00
Daniel Marjamäki
8b7a5dd494
fixed tokenizer problem when reading char constants
2009-03-04 17:02:45 +00:00
Daniel Marjamäki
5c1d4f2703
simplify calculations better
2009-03-04 06:24:03 +00:00
Daniel Marjamäki
547f120ee9
known variables: better handling of ++ and --
2009-03-04 06:03:51 +00:00
Reijo Tomperi
832275bc37
Fix #132 (False positive returning memcpy())
2009-03-03 20:39:17 +00:00
Reijo Tomperi
69c23301db
Fix ticket Add/Change #125 (the printout of the token list is wrong)
2009-03-03 20:17:23 +00:00
Reijo Tomperi
054518f002
Refactoring: Combined printOut() and stringifyList() in Token class
2009-03-03 19:45:58 +00:00
Daniel Marjamäki
37c889ab30
unused private function: better handling of initialization lists in constructors
2009-03-02 20:40:24 +00:00
Vesa Pikki
e629db6818
Now adds directory contents to list of files to check.
...
Only adds proper (.cpp,.c,.cpp,...) files to the list of files to check.
Modified checkthread to clear results after each file.
2009-03-02 19:56:51 +00:00
Daniel Marjamäki
86050cccdb
unused private function: fixed false positive (ticket: 129)
2009-03-02 17:16:02 +00:00
Daniel Marjamäki
87b0314e72
memory leak: fixed issue with reporting wrong location
2009-03-01 20:34:04 +00:00
Reijo Tomperi
d4ecddd53c
Fixed some compiling warnings by adding more error checking.
2009-03-01 20:08:47 +00:00
Daniel Marjamäki
fdaa1af694
removed deprecated flag 'firstMatch'
2009-03-01 20:02:24 +00:00
Reijo Tomperi
015143b56c
Copyright fixes
2009-03-01 19:59:13 +00:00
Reijo Tomperi
ea30d78405
Fixing compile problem with new gcc
2009-03-01 19:56:27 +00:00
Reijo Tomperi
fc8f47145a
Copyrights updated
2009-03-01 19:52:33 +00:00
Reijo Tomperi
f6848f14ad
Fixed another --style problem with our code
2009-03-01 19:38:17 +00:00
Reijo Tomperi
6495912d9a
Fixed bug, -j option produced duplicate error messages.
2009-03-01 19:34:32 +00:00
Reijo Tomperi
d098b62975
Use reference instead of string copy (fixes some --style warnings from our code)
2009-03-01 19:30:51 +00:00
Daniel Marjamäki
60b3bbdea4
removed the '--vcl' flag from the console app
2009-03-01 19:10:48 +00:00
Daniel Marjamäki
c7b068c174
variable id: fixed so that the variable ids are assigned correctly (ticket:126)
2009-03-01 16:37:02 +00:00
Daniel Marjamäki
4e465f7073
variable declarations: don't simplify when declaring and assigning array in the same statement
2009-02-28 20:40:37 +00:00
Daniel Marjamäki
c3bbd603c0
variable id: handling 'return' and 'else' better
2009-02-28 20:21:48 +00:00
Daniel Marjamäki
7d9bf491ec
sizeof: fixed a problem with 'sizeof(varname)' but there are more to fix with it
2009-02-28 08:34:02 +00:00
Reijo Tomperi
42176f52ca
Added Cppcheck::clearFiles() function.
2009-02-27 19:39:50 +00:00
Daniel Marjamäki
6b7b27a2e8
simplify known variable: don't simplify this ';i++;'
2009-02-27 18:25:47 +00:00
Daniel Marjamäki
c991aded12
unused functions: fixed false positives
2009-02-27 16:36:37 +00:00
Daniel Marjamäki
f4a8bc85f2
simplify tokens: fixed bug when removing redundant parantheses around variable
2009-02-27 06:07:38 +00:00
Daniel Marjamäki
c1da4ae57d
simplify tokens: remove redundant parantheses around variable.. 'p = (q);'
2009-02-25 19:55:24 +00:00
Daniel Marjamäki
35583293ec
memory leak: Fixed a false positive when all is given
2009-02-25 19:20:23 +00:00
Daniel Marjamäki
dac1e91013
unused private function: Handle 'embedded' function implementations better
2009-02-25 18:03:17 +00:00
Daniel Marjamäki
4849aaa7ee
checkclass: refactoring
2009-02-24 17:50:51 +00:00
Daniel Marjamäki
66c13c7173
reverted [1282] because some changes were committed by mistake
2009-02-24 17:49:43 +00:00
Daniel Marjamäki
8c3e3faa07
checkclass: refactoring
2009-02-24 17:48:11 +00:00
Daniel Marjamäki
159332fde4
sizeof fix. classes and structs are always given the size 100. This removes false positives about mismatching size
2009-02-24 16:30:57 +00:00
Daniel Marjamäki
1e3047b9c2
simplify tokens: simplify known variable value handles ++ and -- better
2009-02-24 16:11:37 +00:00
Daniel Marjamäki
d15aea1b0c
memory leak: fixed false positive when using 'return strcpy'
2009-02-24 06:23:21 +00:00
Daniel Marjamäki
44a5cecd99
memory leaks: improved handling of --vcl
2009-02-23 19:32:54 +00:00
Reijo Tomperi
a7b0c30884
Change -w to -j to make it similar with make and scons.
2009-02-22 18:38:10 +00:00
Kimmo Varis
c50493e940
Windows RC file is ANSI file, storing as UTF-8 messes it up.
2009-02-22 14:55:29 +00:00
Reijo Tomperi
033a82d3f2
Members of ErrorLogger::ErrorMessage made public for better access to them.
2009-02-22 11:29:33 +00:00
Reijo Tomperi
a64f1d6175
CppCheck::addFile() accepts paths also now.
2009-02-22 11:17:17 +00:00
Daniel Marjamäki
d8927e720d
constructors: don't warn about missing constructor if class only has static variable members
2009-02-21 13:35:55 +00:00
Daniel Marjamäki
08f76279ed
buffer overrun: catch cases when using cin to read to a char array
2009-02-21 12:22:04 +00:00
Daniel Marjamäki
5269e38ae2
security: renamed classes
2009-02-21 12:12:31 +00:00
Daniel Marjamäki
b826d2e41b
security: Renamed files
2009-02-21 12:07:19 +00:00
Daniel Marjamäki
a9009ebf7d
TestClass: Added test for uninitialized "mutable int i"
2009-02-21 08:24:57 +00:00
Daniel Marjamäki
ed86d924df
buffer overrun: dangerous usage of strncpy+strncat
2009-02-20 21:16:07 +00:00
Daniel Marjamäki
15e86db3ed
buffer overrun: Added checking of strncat
2009-02-20 21:00:59 +00:00
Daniel Marjamäki
7f94091b9f
g++: fixed compiler errors
2009-02-20 19:53:14 +00:00
Reijo Tomperi
61587c42ae
Fix ticket #113 (Add support for multi core CPUs and -w parameter to specifify amount of worker threads)
2009-02-20 19:40:42 +00:00
Daniel Marjamäki
439b8c4051
simplify known variables: variable used as array index
2009-02-20 17:27:57 +00:00
Daniel Marjamäki
385be6d0d9
memory leak: Added command line flag '--vcl' that is used to suppress error messages for VCL code
2009-02-20 06:28:18 +00:00
Reijo Tomperi
4fc774deda
Multicore cpu support for Linux (currently disabled and compiling produces warnings)
...
"no errors" output removed.
2009-02-19 22:21:18 +00:00
Daniel Marjamäki
efeaac736d
security: added simple gui checking
2009-02-19 17:57:27 +00:00
Daniel Marjamäki
4e1f19a366
input validation: added checking
2009-02-19 08:03:14 +00:00
Daniel Marjamäki
2b04c94b95
stl push_back: Added check (invalid iterator)
2009-02-18 19:57:43 +00:00
Daniel Marjamäki
f30d7db1e8
activated the Tokenizer::elseif functionality
2009-02-17 20:03:08 +00:00
Daniel Marjamäki
1043b76d31
Added Tokenizer::elseif for breaking up 'else if' into 'else { if ..'
2009-02-17 19:18:26 +00:00
Daniel Marjamäki
4aef89c311
tokenizer: fixed issues related to variable ids
...
* use setVarId in simplifyTokenList
* make sure function parameters and variables declared in for example for loops get variable ids
2009-02-16 17:41:33 +00:00
Reijo Tomperi
ba28c07f9d
astyle fix
2009-02-15 18:47:24 +00:00
Daniel Marjamäki
b1982b2041
tokenizer: improved the simplification of '*(var+num)' => 'var[num]'
2009-02-15 14:02:57 +00:00
Daniel Marjamäki
56d685c179
tokenizer: Remove redundant parantheses around number. Ticket: #105
2009-02-15 13:28:54 +00:00
Daniel Marjamäki
265ef0f4a5
Tokenizer: Fixed bug in tokenizer that removed '\' from preprocessor lines
...
Ticket: #106
2009-02-15 11:42:04 +00:00
Daniel Marjamäki
cc63506b03
FileLister: handle '\\' path separator the same way '/' is handled
2009-02-15 11:26:00 +00:00
Daniel Marjamäki
6b52ee03cf
filelister: use '\\' instead of '/' in windows paths
2009-02-15 07:58:34 +00:00
Reijo Tomperi
45c30f0c87
Code comments updated
2009-02-14 22:03:55 +00:00
Reijo Tomperi
7ef9e870cd
Code comments updated
2009-02-14 22:00:19 +00:00
Reijo Tomperi
1e07847ecf
Constant variable converting converted struct members (foo.a => foo.45) also, fixed that.
2009-02-14 21:33:28 +00:00
Reijo Tomperi
fba8c54758
Fix ticket #107 (Convert + + into + and + - into -) and add test case for it
2009-02-14 20:56:08 +00:00
Reijo Tomperi
997cb071b7
astyle fix
2009-02-14 18:40:04 +00:00
Daniel Marjamäki
4a1488b1a9
tokenizer: tokenize '++', '--' and '>>' correctly
2009-02-14 10:13:50 +00:00
Reijo Tomperi
d1e9efc66a
Fix ticket #104 (Change (error) Uninitialized member variable -> (style) Member variable not initialized in the constructor)
2009-02-14 08:52:03 +00:00
Daniel Marjamäki
6282b5dee8
debug output: commented out the code for writing token listing
2009-02-14 08:49:20 +00:00
Daniel Marjamäki
5c1995ca81
memory leak: handle 'delete (p)' and 'delete [] (p)'. Fixes ticket 102
2009-02-14 06:54:23 +00:00
Daniel Marjamäki
17fbab018c
simplify known value: insert known variable value into calculations
2009-02-14 06:11:37 +00:00
Leandro Penz
de80baeea1
Preprocessor: support for ##-comma-eating in variadic macros; passing now fmt2 test.
2009-02-13 13:34:24 +00:00
Leandro Penz
127a910516
Tokenizer: fixed ## tokenization.
2009-02-13 13:33:12 +00:00
Leandro Penz
d511863b57
Preprocessor: initial variadic macro support; passing now on fmt1 case.
2009-02-13 13:31:40 +00:00
Daniel Marjamäki
8485e95341
Token::stringifyList: Added function that stringifies a token list
2009-02-13 06:25:29 +00:00
Reijo Tomperi
030b35c975
Added test case double_plus and improved Token::printOut
2009-02-12 20:32:59 +00:00
Reijo Tomperi
5d3574bb03
Fix ticket #100 (Simplify constants simplifies leaks out from variable scope and simplifies whole file)
2009-02-12 19:26:42 +00:00
Daniel Marjamäki
4f121daca4
buffer overruns: added simple support for initialized array
2009-02-12 19:11:52 +00:00
Leandro Penz
62a49282eb
Incomplete statements: removed false positive when setting array of structures or multi-dimensional arrays.
2009-02-12 12:59:43 +00:00
Daniel Marjamäki
f4a3119c18
stl dangerous usage of erase: Added test cases about using return and goto
2009-02-11 16:20:32 +00:00
Daniel Marjamäki
ba3752feb6
buffer overrun: improved checking of global variables
2009-02-11 16:12:29 +00:00
Leandro Penz
4c93b4928b
Incomplete statement: fixed and enabled intarray test case.
2009-02-11 15:17:13 +00:00
Daniel Marjamäki
7858ac9ab8
checkbufferoverrun: cleaned up the header includes
2009-02-11 05:16:10 +00:00
Daniel Marjamäki
eda1290e40
dangerous usage of erase: added check
2009-02-11 05:08:29 +00:00
Reijo Tomperi
9b9223480d
Refactoring: reportErr takes now only one parameter, ErrorLogger::ErrorMessage, which contains all required information and also some help
...
functions for formatting it for output.
2009-02-10 21:51:52 +00:00
Daniel Marjamäki
71b4e5a912
stl: added testcase for bad iterator usage
2009-02-10 20:01:39 +00:00
Reijo Tomperi
4660b7648d
Moved stloutofbounds check to CheckStl class.
2009-02-10 19:56:00 +00:00
Daniel Marjamäki
5dd1e84cf3
astyle coding style update
2009-02-10 19:41:22 +00:00
Daniel Marjamäki
c1638996f9
STL: added check for iterator usage
2009-02-10 19:40:21 +00:00
Reijo Tomperi
5721e4469b
stlOutOfBounds error message created
2009-02-10 19:36:49 +00:00
Reijo Tomperi
9dff3f4c52
Fix ticket #94 (STL container overrun). Check is currently behind --all
2009-02-09 22:25:44 +00:00
Reijo Tomperi
1373e14bc9
Fix ticket #93 (Write xml results into error stream instead of results.xml file.) and also refactor the
...
code to use ErrorLogger::reportErr() for all errors, for both xml and plain text. And move xml formatting
from Cppcheck to CppcheckExecutor.
2009-02-09 20:51:04 +00:00
Daniel Marjamäki
a5f88862b4
memory leak: keep track of --all better
2009-02-09 20:16:00 +00:00
Daniel Marjamäki
574db37a6f
uninitialized variables: added testcases and made a fix
2009-02-09 07:47:41 +00:00
Reijo Tomperi
fb3c81dcd9
Fix ticket #80 (refactoring: classes ErrorMessage and ErrorLogger), note that errormessage and errorlogger were merged, errormessage.* is no more.
2009-02-08 21:20:35 +00:00
Daniel Marjamäki
1637e867de
mismatching allocation size: moved to error suite
2009-02-08 18:34:04 +00:00
Daniel Marjamäki
81ed48562c
Memory leak: find memory leak in TestMemleak::unknownFunction2
2009-02-08 18:27:09 +00:00
Daniel Marjamäki
0361c9d338
Memory leak: Handling function that can't be traced into
2009-02-08 11:59:04 +00:00
Reijo Tomperi
cb5974e94e
Fixed issue about 4+5 being made a single token, problem appeared in recent commits.
2009-02-08 10:56:20 +00:00
Reijo Tomperi
c345fa6186
Fix ticket #89 (False positive, (style) Redundant code - begins with numeric constant (e-value))
2009-02-08 10:39:55 +00:00
Reijo Tomperi
da3efe8fa2
Improve fix made for Ticket #85 to handle strings that are in 3 parts also.
2009-02-08 10:25:33 +00:00
Reijo Tomperi
4305d749ff
Fixed ticket #88 (False positive, (style) Redundant code - begins with numeric constant)
2009-02-08 09:51:45 +00:00
Reijo Tomperi
200a159c67
Fix ticket #85 (False positive (style) Redundant code, begins with string)
2009-02-08 08:52:03 +00:00
Reijo Tomperi
811d76eb31
Fixed compiler warning ( #81 ) and optimized the speed a little. Removed _cstr from Token class, use _str.c_str() instead.
2009-02-07 21:05:45 +00:00
Reijo Tomperi
d48671bdfb
Fixed more of ticket #81 (getting rid of compiler warnings)
2009-02-07 20:55:25 +00:00
Reijo Tomperi
b211b8cbe8
Fix ticket #84 (unit testing: use "protected" instead of preprocessor)
2009-02-07 20:06:00 +00:00
Reijo Tomperi
798d86216a
Fix ticket #83 (cppcheck hangs) and add a test case for it
2009-02-07 19:15:10 +00:00
Daniel Marjamäki
e71c6aaa9f
Borland C++: Fix to make it compile
2009-02-07 18:35:55 +00:00
Reijo Tomperi
f14c2d6155
Fixed partially ticket #81 (getting rid of compiler warnings)
2009-02-07 15:37:01 +00:00
Daniel Marjamäki
3c289e52c5
memory allocation: check for mismatching size
2009-02-07 10:54:39 +00:00
Daniel Marjamäki
bb71f9e83e
TestMemleak: fixed problems with wrong linenumbers. This fixes ticket 79
2009-02-07 09:44:57 +00:00
Daniel Marjamäki
eb5d11c1c3
FileLister: Added code that I received from Jeffrey Walton to handle directories and files better
2009-02-07 07:38:22 +00:00
Daniel Marjamäki
03acc12977
mismathing allocation and deallocation: moved to error checks
2009-02-06 18:24:01 +00:00
Daniel Marjamäki
3c7e40fe13
errmsg: use the error message dealloc-use
2009-02-06 06:22:44 +00:00
Daniel Marjamäki
7299d3e5b1
memleak: removed false positives for mismatching allocation and deallocation
2009-02-06 06:11:47 +00:00
Reijo Tomperi
a06861948b
Fixed: Ticket #78 Change (always) into (error) in error messages
2009-02-05 21:06:32 +00:00
Daniel Marjamäki
10abbda6a7
memleak: corrected the wrong line number ( #77 )
2009-02-05 20:17:01 +00:00
Daniel Marjamäki
05e330ed38
incomplete statement: minor update
2009-02-05 18:57:53 +00:00
Daniel Marjamäki
7ccb6217bf
remove casts: Added test case to ensure that function declarations are not reduced
2009-02-04 19:40:48 +00:00
Daniel Marjamäki
aeb573d529
returning pointer to local array
2009-02-04 18:49:19 +00:00
Daniel Marjamäki
bd73d0913f
charvar: fixed todo testcase
2009-02-04 17:12:53 +00:00
Daniel Marjamäki
c46c4c50e9
memory leak: fixed ticket #9
2009-02-04 06:11:36 +00:00
Reijo Tomperi
142a21973a
Fixed varid is 0 bug which happened with sizeof(var[0]) and added testcase for it
2009-02-03 21:42:50 +00:00
Daniel Marjamäki
59f95d311b
tokenizer: setvarid handle variable declaration at start of token list
2009-02-02 19:19:36 +00:00
Daniel Marjamäki
0059ceefb9
Tokenizer: sizeof handling of 'sizeof(var[0])'
2009-02-02 18:59:32 +00:00
Daniel Marjamäki
d0af67a1b1
Tokenizer: setVarId improved to handle declaration at the first token
2009-02-02 17:35:46 +00:00
Daniel Marjamäki
27c0f786bc
tokenizer: improved sizeof handling
2009-02-02 17:27:34 +00:00
Daniel Marjamäki
460c29f6a2
memory leaks: Minor fix to output correct severity
2009-02-02 06:04:48 +00:00
Daniel Marjamäki
385c28a02e
xml: generating better xml output
2009-02-01 18:00:47 +00:00
Daniel Marjamäki
d29d7e60a9
errmsg: refactoring the error messages
2009-02-01 15:47:36 +00:00
Daniel Marjamäki
566e1102bc
changed version to 1.28
2009-02-01 08:17:45 +00:00
Reijo Tomperi
6b16b7482a
Removed some dead code and improved one function to use reference instead of a copy.
2009-01-31 21:12:24 +00:00
Reijo Tomperi
b471ac2e3c
Fixing files using dos-style line change to use unix-style line change.
2009-01-31 19:29:27 +00:00
Reijo Tomperi
7da34ed249
Running astyle for the previous commits
2009-01-31 18:54:34 +00:00
Leandro Penz
7adcd0c355
dangerousfunctions: added check for mktemp (ticket #69 ), and refatored gets and scanf check from bufferoverrun into dangerousfunctions.
2009-01-31 18:24:48 +00:00
Daniel Marjamäki
81174a4817
mismatching allocation / deallocation: moved to --all
2009-01-31 17:54:31 +00:00
Daniel Marjamäki
f6f72fc022
errmsg: output severity in messages. a fix to track severity in the memory leaks check
2009-01-31 13:57:27 +00:00
Daniel Marjamäki
3457b38d7a
errmsg: write severity in the message
2009-01-31 08:33:31 +00:00
Daniel Marjamäki
b7b055e885
tokenizer: fixed TestTokenizer::sizeof1
2009-01-28 17:38:32 +00:00
Daniel Marjamäki
dd9cd9ce82
unused functions: Created command line parameter --unused-functions
2009-01-28 17:26:19 +00:00
Daniel Marjamäki
0ca38cc9fe
xml results: added a command line switch for generating simple results.xml file
2009-01-28 17:12:43 +00:00
Leandro Penz
b30e78e14c
MatchFunctionsThatReturnArg: calling Match only once.
2009-01-28 00:23:56 +00:00
Reijo Tomperi
2f7dec2fc3
Partial support for sizeof x, by converting it into sizeof(x). Does not handle complex structures. Closing ticket #65
2009-01-27 20:47:00 +00:00
Reijo Tomperi
64e3250f00
Fixed bug in multiCompare, which fixes ticket #66 ([False positive] "Buffer overrun" with "--all")
2009-01-27 19:30:01 +00:00
Daniel Marjamäki
762ae69304
function parameters: fixed segmentation fault (derefence null)
2009-01-27 07:39:11 +00:00
Daniel Marjamäki
d6ef44c73e
sprintf overlapping data
2009-01-27 07:21:52 +00:00
Reijo Tomperi
e764cc4f95
Fix ticket #25 (simplify "void f(x) int x; {" into "void f(int x) {")
2009-01-26 22:26:50 +00:00
Daniel Marjamäki
6ce23670e5
sprintf overlapping data: added extra text that is shown if --verbose is given
2009-01-26 19:14:46 +00:00
Daniel Marjamäki
3d61334a8c
errmsg: Moved 'function parameter parname is passed by value' to the style checks
2009-01-26 18:32:00 +00:00
Daniel Marjamäki
068b1458c2
memleak: class function usage (fixing #63 )
2009-01-26 18:15:44 +00:00
Daniel Marjamäki
ca0f007ca4
tokenizer: simplify redundant paranthesis
2009-01-26 16:38:08 +00:00
Leandro Penz
9fb11bbfcc
memleak: strcat_result_assignment fixed by checking some functions for "x = func(x[),]".
2009-01-25 20:57:34 +00:00
Daniel Marjamäki
9c51729be6
preprocessor: stringify macros
2009-01-25 13:30:15 +00:00
Reijo Tomperi
ed2758b082
Updated comments in code
2009-01-25 11:11:18 +00:00
Reijo Tomperi
17eee5e4d7
Fix ticket #58 (If given path is empty it is assumed that it wasn't given)
2009-01-25 11:05:51 +00:00
Reijo Tomperi
22593adeac
Fix ticket #57 (wrong path in error message)
2009-01-24 20:34:16 +00:00
Daniel Marjamäki
5acc6aca31
preprocessor: insert space. '#if(' => '#if ('
2009-01-24 19:28:30 +00:00
Leandro Penz
04faae2882
memleak: *x=malloc(); func(&x) is no longer reported as a leak (eliminated &use2).
2009-01-24 18:55:56 +00:00
Reijo Tomperi
98d7f02ebc
Added test case preprocessor_and_operation for ticket #55 (also fixed style from previous commit)
2009-01-24 18:50:09 +00:00
Kimmo Varis
a0886e693e
Fix two overly long lines in command line help.
2009-01-24 18:24:04 +00:00
Daniel Marjamäki
0b95fdafb7
tokenizer: Added guard in case the preprocessor is mismatching
2009-01-24 17:15:38 +00:00
Daniel Marjamäki
fa070ac73c
cppcheck: printing preprocessed file to 'temp.txt'
2009-01-24 13:53:53 +00:00
Reijo Tomperi
d89f804d91
Fixed ticket #54 (Make cppcheck print status e.g. 4/20 files checked)
2009-01-24 08:06:40 +00:00
Daniel Marjamäki
9d29de02d3
removed windows encodings
2009-01-23 21:34:03 +00:00
Daniel Marjamäki
42e56153a4
borland and visual c++ fixes
2009-01-23 21:28:45 +00:00
Daniel Marjamäki
d9b9368238
reverted [1084] it can be fixed better
2009-01-23 21:14:41 +00:00
Daniel Marjamäki
f33675288e
borland: the strtol is found in <stdlib.h>
2009-01-23 21:08:51 +00:00
Daniel Marjamäki
6f40ed9796
include: Had to include <cstring> in a few places to be able to compile cppcheck
2009-01-23 20:55:06 +00:00
Reijo Tomperi
c9133fb85d
Add additional checking to avoid ethernal loops when someone is using incorrect different case for the same file.
...
It should be unlikely that anyone would actually use different files in the same project and separate them only by
casing of some letters.
2009-01-23 20:36:43 +00:00
Reijo Tomperi
8d6f41397a
Fixing ticket #35 (Get rid of #ifdefs in our code where possible)
2009-01-23 20:25:13 +00:00
Daniel Marjamäki
ca56520c29
memory leak: don't give false positive when deallocating member variable this->i ( #53 )
2009-01-23 19:24:52 +00:00
Daniel Marjamäki
9c94e66382
better fix to get rid of compiler warning is to comment the function parameter
2009-01-23 18:37:28 +00:00
Reijo Tomperi
6a523f2730
Fixed Ticket #52 , Cppcheck hangs when checking VLC's source code
2009-01-23 18:27:04 +00:00
Daniel Marjamäki
193cffdb0b
preprocessor: fixed bug with mixed macros ABC and ABCD
2009-01-23 17:14:42 +00:00
Daniel Marjamäki
9af881d548
removed bam coding
2009-01-23 16:51:45 +00:00
Daniel Marjamäki
89f4a84c37
preprocessor: The stdlib.h is needed for the exit function
2009-01-23 11:34:19 +00:00
Daniel Marjamäki
de2675b46f
cppcheck: The '&&' should be '||' when checking if a check should be called
2009-01-22 21:20:40 +00:00
Reijo Tomperi
5de5eab9fe
Fix Ticket #46 , invalid commandline. (Also added -h and --help parameters)
2009-01-22 20:26:04 +00:00
Daniel Marjamäki
67e4ea10c9
preprocessor: handle redefinition of macro
2009-01-22 20:19:07 +00:00
Reijo Tomperi
e897637c7a
Fix Ticket #30 , Need a way to specify include file folders (-I parameter was added)
2009-01-22 19:59:50 +00:00
Daniel Marjamäki
a9e84c5cd5
preprocessor: handle include guards by not checking for configurations in header files
2009-01-22 18:19:17 +00:00
Nicolas Le Cam
f9191539a8
Code cleanup.
2009-01-21 22:07:22 +00:00
Reijo Tomperi
1ef2c5caf5
Fixed style
2009-01-21 21:58:06 +00:00
Nicolas Le Cam
b7e4f1319c
Fix Preprocessor::read to handle char constant of more than one char, fixing issue #45 ; Fix the test that handle the case.
2009-01-21 21:45:17 +00:00
Nicolas Le Cam
42c608b6f0
Remove checks that are already covered well by most compilers (Unreachable Code; Assignment in Condition; Unused Variable).
2009-01-21 21:31:47 +00:00
Reijo Tomperi
53d02c0804
Fix Ticket #43 , preprocessor: include file doesn't work so good in subfolders (note, because of other issues, checking will be very slow now
...
that this is fixed)
2009-01-21 21:03:46 +00:00
Reijo Tomperi
176dd41306
Fixed Ticket #40 , Check copyright texts in files, now that we have new developers.
2009-01-21 20:04:20 +00:00
Daniel Marjamäki
5fa9fce8d4
uninitialized variables: run always
2009-01-21 19:11:27 +00:00
Nicolas Le Cam
afb3bf1011
Fix CheckOther::functionVariableUsage, passing a variable to a function also means reading it.
2009-01-21 19:05:57 +00:00
Daniel Marjamäki
76cb2310af
preprocessor: handled problem with parsing strings when expanding macros
2009-01-21 17:11:24 +00:00
Daniel Marjamäki
820df7fdbd
code style
2009-01-21 07:23:15 +00:00
Nicolas Le Cam
001a4b588e
Fix Tokenizer::setVarId for pointers and two types variable declaration
2009-01-20 23:31:54 +00:00
Nicolas Le Cam
acdc381ff3
CheckOther::functionVariableUsage: minor optimization.
2009-01-20 22:40:10 +00:00
Nicolas Le Cam
5eb89414c8
Token::Match: Allow pattern like '*|'
2009-01-20 22:39:03 +00:00
Reijo Tomperi
6d8387914b
Fixes test case "file2", fixes bug with include file handling
2009-01-20 22:25:49 +00:00
Nicolas Le Cam
5d8f506d6b
Tokenizer: Remove 'unlikely' keyword in simplifyTokenList;
...
Don't check for it in CheckMemoryLeak.
2009-01-20 21:21:12 +00:00
Daniel Marjamäki
d82314b365
preprocessor: Handle ##
2009-01-20 18:28:24 +00:00
Daniel Marjamäki
fad65663e5
tokenizer: tokenize ## better
2009-01-20 17:26:16 +00:00
Daniel Marjamäki
ea3094166c
code cleanup
2009-01-20 06:20:55 +00:00
Reijo Tomperi
df5adc5f4f
Added test case preprocessor_doublesharp, executed ./runastyle for errormessage.h
2009-01-19 21:45:59 +00:00
Nicolas Le Cam
2b2152919f
Update errormessage.h and code using it.
2009-01-19 19:50:59 +00:00
Reijo Tomperi
4d0e3dac45
Added a test case and fixed bug. If #include was inside a string, cppcheck hanged in preprocessor.
2009-01-19 19:24:41 +00:00
Reijo Tomperi
adc116d0ef
Changed output of the program to print out the file name before
...
preprocessor.
2009-01-19 19:00:36 +00:00
Reijo Tomperi
de28502bb1
Fixed bug in line numbers and enabled test case that spots it.
2009-01-19 18:51:27 +00:00
Daniel Marjamäki
e90857ce0d
tokenizer: activated the handling of #file and #endfile
2009-01-19 17:49:44 +00:00
Daniel Marjamäki
af87fececa
preprocessor: Activated the include handling
2009-01-19 17:47:43 +00:00
Kimmo Varis
0b2bd09b24
Visual Studio: Fix building resource file with Visual Studio Express.
2009-01-19 06:40:59 +00:00
Nicolas Le Cam
45478a7178
FileLister: Fix bug that prevent a file passed by with paths to be checked; Add the possibility to use \ as a directory separator on Windows closing issue #22
2009-01-18 23:51:31 +00:00
Reijo Tomperi
3cb51d6946
Fixing crash, not sure about side effects. Ticket #37
2009-01-18 23:03:28 +00:00
Reijo Tomperi
50d9a085da
Added temporary bailout code, cppcheck crashes when string checking leaks out. This needs a better fix, this is just to
...
see the problem more easily.
2009-01-18 22:46:48 +00:00
Nicolas Le Cam
f6d121443e
unreachableCode: Moved warning of a break statement following a return in --style; Added a test case; Minor optimization.
2009-01-18 21:19:02 +00:00
Leandro Penz
e930525aa4
functionVariableUsage: no longer SIGSEGVs on unfinished struct. Fixes Ticket #31 .
2009-01-18 19:45:43 +00:00
Reijo Tomperi
45c1b3c3ca
More work for includes, still commented out. Uncomment from tokenize.cpp and
...
preprocessor.cpp to take into use.
2009-01-18 18:59:58 +00:00
Reijo Tomperi
3f98024215
More work for includes, still commented out. Tokenizer needs #file handling
2009-01-18 18:01:56 +00:00
Daniel Marjamäki
0177f77505
code style fix
2009-01-18 17:47:40 +00:00
Daniel Marjamäki
f409861492
strPlusChar: Fixed false positives
2009-01-18 17:42:41 +00:00
Reijo Tomperi
b1250e1750
Some work for the include support (commented out for now)
2009-01-18 17:13:05 +00:00
Daniel Marjamäki
965daabe60
preprocessor: Make sure that "#define ABC (a+b+c)" is expanded correctly
2009-01-18 16:56:12 +00:00
Daniel Marjamäki
8785483878
preprocessor: Reactivated the expandMacros. This time it's done after the #if #else #endif has been
...
processed
2009-01-18 16:42:15 +00:00
Daniel Marjamäki
ea686a1da9
preprocessor: fixed so the TestPreprocessor::preprocessor_undef succeeds
2009-01-18 16:37:40 +00:00
Daniel Marjamäki
73630c4640
style updated
2009-01-18 12:19:48 +00:00
Daniel Marjamäki
6cb6e163cd
preprocessor: Refactoring. Broke out some functionality of expandMacros into a class Macro
2009-01-18 12:17:26 +00:00
Daniel Marjamäki
4ee4645858
Preprocessor: Reverted [1008] - The old expandMacros was readded
2009-01-18 10:54:07 +00:00
Kimmo Varis
9bf6383c4e
Fix VS build broken due to tripled version resource info.
2009-01-18 09:38:42 +00:00
Daniel Marjamäki
a269cfc8d9
tokenizer: The tokenizer shouldn't handle comments nor preprocessor directives. The preprocessor will take care of
...
that
2009-01-18 08:38:25 +00:00
Daniel Marjamäki
86c95c27d2
Preprocessor: Removed "Preprocessor::expandMacros" and commented all its tests
2009-01-18 07:32:06 +00:00
Daniel Marjamäki
0a027a55ef
preprocessor: Don't use the "expandMacros" from cppcheck
2009-01-18 07:22:17 +00:00
Reijo Tomperi
58b398a4a8
Fix Ticket #32 False positive with --style: Uninitialized member variable (when stream is used)
2009-01-17 20:17:57 +00:00
Kimmo Varis
bfc82f29eb
Does not understand . as current folder (Trac #4 )
2009-01-17 19:34:11 +00:00
Daniel Marjamäki
b9b250f4cc
unused var: fixed false positives when using shift operator
2009-01-17 14:32:02 +00:00
Daniel Marjamäki
8780fbf8bb
bounds checking: Added error message "snprintf size is out of bounds"
2009-01-17 13:09:02 +00:00
Reijo Tomperi
9298caa809
Patch [ 2508549 ] Add Windows version resource
2009-01-17 12:08:20 +00:00
Daniel Marjamäki
a5e2787f72
errmsg: added varname to the message "deallocating a deallocated pointer"
2009-01-17 11:15:46 +00:00
Daniel Marjamäki
121c0ee58f
unused variable: reading the value of variable in a for loop.. "for(;a;)" see ticket #18
2009-01-17 11:12:15 +00:00
Daniel Marjamäki
f562f588fb
memory leak: detect memory leak ( #6 )
2009-01-17 07:55:40 +00:00
Reijo Tomperi
afe19dd0a2
Added .c++ to help texts also.
2009-01-16 22:42:08 +00:00
Daniel Marjamäki
c279f83664
preprocessor: bail out code in expandMacros
2009-01-16 21:30:06 +00:00
Reijo Tomperi
449dcc2a60
Add support for .c++ files ( Debian Bug#512060: cppcheck: refuses to
...
check .c++ files )
2009-01-16 20:46:41 +00:00
Daniel Marjamäki
a39eaec1cc
preprocessor: Fixed a null pointer dereference
2009-01-16 19:50:39 +00:00
Daniel Marjamäki
666fc82011
Memory leak: Fixed false positives about deallocating pointer that has already been deallocated
2009-01-16 16:29:41 +00:00
Daniel Marjamäki
f663d1da84
function usage: don't report "main" and "if" as unused
2009-01-16 16:20:35 +00:00
Daniel Marjamäki
1db6c010e3
memory leak: don't show debug info
2009-01-16 16:19:50 +00:00
Daniel Marjamäki
4cfb8ad1cb
memory leaks: Added checking of deallocate to see that the pointer isn't deallocated already
2009-01-15 20:34:39 +00:00
Daniel Marjamäki
218c107b6f
code style
2009-01-15 17:12:55 +00:00
Daniel Marjamäki
66e93b24e2
str plus char: added simple variable handling
2009-01-15 17:12:33 +00:00
Daniel Marjamäki
ad9aba6e1b
code style fixing
2009-01-15 17:00:15 +00:00
Daniel Marjamäki
8bbd4b9401
str plus char: Added check and error message for str + ch
2009-01-15 16:57:51 +00:00
Daniel Marjamäki
a01c5a6099
preprocessor: Bail out the expandMacros if it finds "#undef". The previous handling can cause cppcheck to hang
2009-01-14 19:50:17 +00:00
Daniel Marjamäki
03cfe18c9b
errmsg: Added 'condition is always true/false'
2009-01-14 19:43:28 +00:00
Daniel Marjamäki
22583269c1
Uninitialized member variables: Checking enum variables
2009-01-14 19:34:10 +00:00
Daniel Marjamäki
b9460ca6f8
preprocessor: a segmentation fault fix. Check if tokens is null.
2009-01-14 17:22:11 +00:00
Daniel Marjamäki
a196ea1c2c
dos2unix fixing
2009-01-14 17:17:28 +00:00
Daniel Marjamäki
2d58b2b9ee
memory leak: fixed false positive about using variable after it is released
2009-01-14 16:21:54 +00:00
Daniel Marjamäki
9e91f75386
cppcheck: added function call to the variable scope check.
2009-01-14 07:43:46 +00:00
Daniel Marjamäki
a604f56f19
buffer overruns: added sprintf checking
2009-01-14 06:29:35 +00:00
Daniel Marjamäki
12b248aa66
doxygen: Added comments in checkbufferoverrun.h
2009-01-14 06:13:54 +00:00
Daniel Marjamäki
f7e4f13ecd
Memory leak: Readded some checking to classes
2009-01-14 05:58:20 +00:00
Leandro Penz
f33153e086
unreachableCode: avoid SIGSEGV when there is no "}" after return.
2009-01-14 01:29:33 +00:00
Leandro Penz
1a14cd527c
functionVariableUsage: support for nested struct/union declaration.
2009-01-14 00:45:44 +00:00
Daniel Marjamäki
e664f255a4
Memory leak: Fixed a false positive
2009-01-13 18:30:39 +00:00
Daniel Marjamäki
c8a5bd16a1
errmsg: Added 'assignment in if-condition'
2009-01-13 17:56:45 +00:00
Daniel Marjamäki
aa592387e6
errmsg: refactoring
2009-01-13 06:25:36 +00:00
Daniel Marjamäki
cc65242626
errmsg: added message about bad usage of char variable
2009-01-12 18:52:43 +00:00
Daniel Marjamäki
fdf5b215f9
errmsg: Added message for 'incomplete statement'
2009-01-12 17:46:24 +00:00
Daniel Marjamäki
a5eb8894d4
errmsg: Added messages for 'variable is not used / not read / not assigned'
2009-01-12 17:40:20 +00:00
Daniel Marjamäki
13e2396345
errmsg: Added message 'function parameter is passed by value'
2009-01-12 17:32:53 +00:00
Daniel Marjamäki
df689b454c
errmsg: added message 'unreachable code below return'
2009-01-12 17:28:04 +00:00
Daniel Marjamäki
a0ef840138
errmsg: Added 'unused struct member'
2009-01-12 17:21:25 +00:00
Daniel Marjamäki
03888046d8
errmsg: Made the 'unsigned division' a style error
2009-01-12 17:14:03 +00:00
Daniel Marjamäki
980b10bfc9
errmsg: Added 'unsigned division'
2009-01-12 17:12:14 +00:00
Daniel Marjamäki
e70f68f266
refactoring: cleanup old code
2009-01-12 16:53:14 +00:00
Daniel Marjamäki
17d4c2b980
errmsg: Added message 'Overlapping data buffer'
2009-01-12 06:52:50 +00:00
Daniel Marjamäki
ae861852e2
errmsg: Added "found redundant if - 'if (condition);'
2009-01-12 06:44:47 +00:00
Daniel Marjamäki
153487d504
preprocessor: Style updates
2009-01-12 06:43:56 +00:00
Daniel Marjamäki
eb8675ab76
preprocessor: Handle newlines better
2009-01-12 06:33:06 +00:00
Daniel Marjamäki
ea6c48b2bd
preprocessor: fixed a small bug when expanding macro without parameter
2009-01-11 16:06:37 +00:00
Daniel Marjamäki
da881fdd0a
preprocessor: Fixed bug when expanding macros without parameters
2009-01-11 15:51:46 +00:00
Daniel Marjamäki
ecdfee850d
preprocessor: expand macro without parameters
2009-01-11 15:07:13 +00:00
Daniel Marjamäki
da46e4bd96
struct member usage: bail out the check if the struct contain any functions
2009-01-11 14:39:52 +00:00
Daniel Marjamäki
2e77f3bf04
setVarId: Fixed bug (variable id for struct member not correctly set)
2009-01-11 10:03:21 +00:00
Daniel Marjamäki
9d8af10583
errmsg: the "unused function" message shall not take any Tokenizer nor Token parameters
2009-01-11 08:10:51 +00:00
Daniel Marjamäki
94667320e8
preprocessor: Handle "<backslash><newline>" better
2009-01-11 07:19:28 +00:00
Daniel Marjamäki
3d8791eebd
errmsg: added "unused function"
2009-01-11 06:44:32 +00:00
Leandro Penz
764e44790f
match: skip initial !! patterns if on first token.
2009-01-10 21:13:10 +00:00
Leandro Penz
12a7d1df4b
match: optimisation
2009-01-10 20:40:05 +00:00
Daniel Marjamäki
1e6b54b2c5
errmsg: added "mismatching allocation and deallocation"
2009-01-10 19:30:41 +00:00
Daniel Marjamäki
327d09502a
cppcheck: Minor bug fix
2009-01-10 19:24:23 +00:00
Daniel Marjamäki
47a7c915fa
errmsg: Added error messages for "Array index out of bounds" and "Buffer overrun"
2009-01-10 19:23:21 +00:00
Daniel Marjamäki
897c02e3ed
errmsg: added error message about virtual destructors
2009-01-10 18:03:56 +00:00
Daniel Marjamäki
6acb123f1d
errmsg: Added "operator= should return something
2009-01-10 17:57:31 +00:00
Daniel Marjamäki
1fc5f5485f
errmsg: Added "Using 'memset' on class"
2009-01-10 17:51:03 +00:00
Daniel Marjamäki
7b10b0ff4d
errmsg: Added "Unused private function ..."
2009-01-10 17:35:41 +00:00
Daniel Marjamäki
dc6317878e
errmsg: Added "uninitialized member variable"
2009-01-10 17:11:47 +00:00
Leandro Penz
5570f06075
checkmemoryleak: no longer flag "dealloc ; alloc ; if continue ;" as a leak, even with --all
2009-01-10 16:28:04 +00:00
Daniel Marjamäki
1a4cfc6c4f
unused struct member: fixed false positive for member "const int a;"
2009-01-10 14:39:20 +00:00
Daniel Marjamäki
a2a8378749
astyle: updated the code style
2009-01-10 14:29:59 +00:00
Daniel Marjamäki
8c4260519c
sprintf: fixed bug "false positive when variable is used again after snprintf"
2009-01-10 14:27:31 +00:00
Daniel Marjamäki
0c3c00daec
errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor'
2009-01-10 13:08:44 +00:00
Daniel Marjamäki
41a73e3b1e
errmsg: bug fix
2009-01-10 12:03:18 +00:00
Daniel Marjamäki
985b8fa05f
sprintf: fixed false positives with "sprintf(buf, "%i", sizeof(buf));
2009-01-10 11:19:17 +00:00
Daniel Marjamäki
d6d26f4705
match: optimisation
2009-01-10 07:10:18 +00:00
Daniel Marjamäki
ae4ab2fcb6
preprocessor: code style fixing
2009-01-10 07:09:47 +00:00
Daniel Marjamäki
cd9323ca62
preprocessor: handle the \newline in strings
2009-01-10 07:07:51 +00:00
Leandro Penz
febdc3fe6e
token: when Token::Match reached the end of input, it returned true if the next pattern was !!. It now returns true only if all remaining patterns are !!.
2009-01-10 00:33:48 +00:00
Daniel Marjamäki
7851b1042f
errormessage: added error message ErrorMessage::dangerousUsageStrtol
2009-01-09 19:15:54 +00:00
Daniel Marjamäki
3e5398499f
errormessage: added header
2009-01-09 19:01:25 +00:00
Daniel Marjamäki
6bdb14edfd
tokenize: avoid "terminate called after throwing an instance of 'std::out_of_range'"
2009-01-09 18:00:11 +00:00
Reijo Tomperi
46f4701c26
Main returns now EXIT_SUCCESS or EXIT_FAILURE instead of 0. Feature request fixed: [ 2489787 ] Return value of cppcheck is always 0
2009-01-08 21:30:25 +00:00
Reijo Tomperi
42b661630b
astyle changes, missed from previous commits
2009-01-08 21:08:14 +00:00
Daniel Marjamäki
5d0f8f0cfa
errormessage: Added a few more messages for checkother.cpp
2009-01-08 20:56:51 +00:00
Reijo Tomperi
4dfc3a9c3d
Added license text to errormessage.h (via code tha generates it) and also mention that it is generated by machine
2009-01-08 20:51:07 +00:00
Daniel Marjamäki
2a2adb037a
errormessage: Added the new errormessage handling to cppcheck
2009-01-08 17:32:33 +00:00
Daniel Marjamäki
1bc5740742
errormessage: updated the files. the errormessage.h is automaticly
...
generated by the tools/errmsg program
2009-01-08 17:31:07 +00:00
Daniel Marjamäki
24530ebd60
sprintf: check for dangerous usage with sprintf|snprintf with
...
overlapping data
2009-01-08 06:24:08 +00:00
Daniel Marjamäki
8f86a941aa
Simplify tokens: add a ";" after case and default
2009-01-07 17:49:21 +00:00
Daniel Marjamäki
de7de91091
preprocessor: applied patch submitted by kimmov
2009-01-07 17:47:32 +00:00
Daniel Marjamäki
40637e436f
Reverted [890] it cause more problems with Visual C++
2009-01-07 15:43:20 +00:00
Daniel Marjamäki
8c71c4194f
Borland C++: Removed unneeded ifdefs
2009-01-07 15:16:15 +00:00
Reijo Tomperi
3a2fd91783
Optimization: 6,2 s -> 5,6 s
2009-01-06 22:58:33 +00:00
Reijo Tomperi
e435a1f1d6
Refactoring: Added src/ and test/ folders. Moved source files to those folders, updated makefile and codeblocks project file.
2009-01-06 14:18:36 +00:00