Daniel Marjamäki
96ebf343f1
speedup: made the token simplifications a little faster
2009-05-03 21:32:22 +02:00
Daniel Marjamäki
7a8b980627
templates: extracted the template simplification into a separate function
2009-05-03 21:23:47 +02:00
Reijo Tomperi
0f59ef9064
Fix #276 (simplification: Variable value)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/276
2009-05-03 21:57:27 +03:00
Reijo Tomperi
cb209bbd41
Fix #279 (Refactoring: replace and remove Token::aaaa , Token::aaaa0 and Token::aaaa1)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/279
2009-05-03 21:10:59 +03:00
Daniel Marjamäki
c9eab77683
varid: speedup of the algorithm for setting variable ids
2009-05-03 14:31:54 +02:00
Daniel Marjamäki
f6d6a3855e
varid: updated handling of variable id for class variables ( #26 )
2009-05-03 13:50:26 +02:00
Reijo Tomperi
e825de1450
Fix possible bug caused by previous commit.
2009-05-03 14:17:31 +03:00
Reijo Tomperi
b29673f4a2
Fix slowlyness, caused by one of the previous commits.
2009-05-03 14:07:32 +03:00
Daniel Marjamäki
3819c66f36
stl: Fixed ticket #277 - dereferencing an iterator that has been erased
2009-05-03 07:37:39 +02:00
Daniel Marjamäki
6a009f7084
tokenizer: give class member variables varId ( #26 )
2009-05-02 22:57:18 +02:00
Daniel Marjamäki
e26c999020
Refactoring: Using MathLib for converting string to number
...
commit beacd5793f9e9987432a20ac39a76ae6c2c8babd
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:44:18 2009 +0200
memleak: using mathlib
commit 4d28172a5d88cc2cbe5ed94a4e4fdbd0dd4bb5e1
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:35:06 2009 +0200
tokenizer: using the MathLib for converting string to number
commit 4e4b95b3554c9c6d121efeb39741204b1621b1a3
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:28:39 2009 +0200
CheckOther: Using mathlib
2009-05-02 10:45:15 +02:00
Daniel Marjamäki
6f4c5ab71c
refactoring: Replaced 'aaaa'
2009-05-01 22:41:55 +02:00
Reijo Tomperi
26c193f9bc
Fix ticket #204 (false positive::memory leak with --all when free is guarded by simple if)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/204
2009-05-01 21:31:07 +03:00
Reijo Tomperi
bc4fb21325
tokenizer: simplify assembler ( #270 ), fix _asm also.
...
http://apps.sourceforge.net/trac/cppcheck/ticket/270
2009-05-01 20:53:08 +03:00
Reijo Tomperi
a46de47158
Fix ticket #196 (False positive: Resource leak)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/196
2009-05-01 14:39:57 +03:00
Daniel Marjamäki
e37da13c26
tokenizer: simplify assembler ( #270 )
2009-05-01 12:39:14 +02:00
Reijo Tomperi
67832d89f7
Astyle fix
2009-05-01 13:08:19 +03:00
Reijo Tomperi
241ad528a9
Fix ticket #275 Simplify if( a == 0 ), if( 0 == a ) into if( !a )
...
http://apps.sourceforge.net/trac/cppcheck/ticket/275
2009-05-01 13:07:10 +03:00
Reijo Tomperi
34540fee04
Fix partially ticket #196 False positive: Resource leak
...
And add few test cases related to it. Move one failing test behind TODO
http://apps.sourceforge.net/trac/cppcheck/ticket/196
2009-05-01 12:28:33 +03:00
Daniel Marjamäki
6d53343d32
class checking: only check class assignments if the --all has been given
2009-05-01 07:36:35 +02:00
Daniel Marjamäki
534d0e9939
class checking: Checking that vectors/lists/strings etc are modified in the assignment function
2009-05-01 07:28:58 +02:00
Reijo Tomperi
7e5c32b7f4
Fix ticket #269 (Incorrect variable id, when delete is used.)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/269
2009-04-29 22:45:57 +03:00
Daniel Marjamäki
ad4c7993d1
stl: checking that iterator is used against a single container
2009-04-29 20:16:04 +02:00
Daniel Marjamäki
f9795988eb
checkstl: Check for invalid pointer to vector element
2009-04-28 21:18:02 +02:00
Daniel Marjamäki
bb154da394
memory leaks: handling std::auto_ptr ( #266 )
2009-04-28 20:01:35 +02:00
Daniel Marjamäki
67eb54c4c0
Merge branch 'abc'
2009-04-27 21:29:29 +02:00
Daniel Marjamäki
b49997e69d
bail out instead of crash when parsing unicode code ( #207 )
2009-04-27 21:29:03 +02:00
Reijo Tomperi
d8f6636673
Improve fix to ticket #261 : Allow macro definition to have uncoupled double quote.
...
http://apps.sourceforge.net/trac/cppcheck/ticket/261
2009-04-26 22:19:08 +03:00
Daniel Marjamäki
7b58e09a07
Preprocessor: Report correct file and line in message 'No pair for character..' ( #261 )
2009-04-26 11:05:32 +02:00
Daniel Marjamäki
ebd15cec0f
push_back: updated the checking of push_back ( #263 )
2009-04-25 17:14:02 +02:00
Daniel Marjamäki
49430afabe
varid: Set variable id for stl containers and iterators
2009-04-25 16:55:00 +02:00
Reijo Tomperi
347b8a2de8
astyle fix
2009-04-23 23:53:01 +03:00
Daniel Marjamäki
8e15a9e79d
xml generator: handle '<' and '>' ( #263 )
2009-04-23 21:59:26 +02:00
Reijo Tomperi
14eff64194
Fix ticket #258 (segmentation fault)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/258
2009-04-20 21:38:05 +03:00
Daniel Marjamäki
ca8f25fced
return pointer to local array: fixed false positive when return value is converted to for instance a std::string ( #255 )
2009-04-19 16:47:54 +02:00
Daniel Marjamäki
7cddc52d8f
mathlib: Fixed todo 3/2=1
2009-04-16 22:06:17 +02:00
Reijo Tomperi
23f00e64cb
Fix ticket #257 (Improve speed of template tokenizing)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/257
2009-04-14 23:21:52 +03:00
Daniel Marjamäki
3c3a56bfca
private functions: don't report false positives when using initialization lists ( #254 )
2009-04-14 21:46:13 +02:00
Daniel Marjamäki
7750f327ff
STL boundries: added new check written by Bill Eggert ( #247 )
2009-04-13 17:48:13 +02:00
Reijo Tomperi
9c9e920829
Fix ticket #252 (Fix --style warnings in cppcheck)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/252
2009-04-13 12:02:21 +03:00
Daniel Marjamäki
8533e112fe
updated version to 1.31
2009-04-12 19:54:15 +02:00
Reijo Tomperi
1f53fb7149
Fix ticket #248 (STL erase check broken?)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/248
2009-04-10 14:27:36 +03:00
Daniel Marjamäki
e72a38aaa8
mathlib: Added licence text
2009-04-09 16:17:59 +02:00
Daniel Marjamäki
6fb18b3ddc
simplify calculations: Don't simplify division with 0
2009-04-06 19:43:54 +02:00
Daniel Marjamäki
638d18cfc8
tokenize: use mathlib when simplifying calculations (ticket: 236)
2009-04-06 19:23:30 +02:00
Daniel Marjamäki
97f5380a2c
added testing for mathlib
2009-04-06 19:08:13 +02:00
Daniel Marjamäki
f0d870c52d
Added math library that was created by hoangtuansu
2009-04-06 18:27:14 +02:00
Reijo Tomperi
51d97fa831
Fix ticket #212 (Tokenizer: Handle L "text")
...
http://apps.sourceforge.net/trac/cppcheck/ticket/212
2009-04-05 22:21:38 +03:00
Reijo Tomperi
051f2929b5
Fix ticket #244 (Headers from included file are searched from wrong path)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/244
2009-04-05 21:14:02 +03:00
Reijo Tomperi
11858129d0
Fix ticket #243 (boundary checking)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/243
2009-04-04 21:05:48 +03:00
Reijo Tomperi
7a11f0e61f
Fix ticket #242 (Preprocessor: Bail out on failure instead of terminating the program)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/242
2009-04-03 22:09:12 +03:00
Reijo Tomperi
3b0643a000
Fix some potential null pointer crashes
2009-04-03 14:55:36 +03:00
Daniel Marjamäki
ebee7928e2
operator=: changed error message when variable is not assigned
2009-03-31 19:00:56 +02:00
Reijo Tomperi
14bdf1ee62
Fix ticket #239 (missing function implementation in namespace causes crash)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/239
2009-03-31 00:59:33 +03:00
Daniel Marjamäki
263c5b9e5a
division with zero => division by zero
2009-03-29 20:27:10 +02:00
Daniel Marjamäki
d7aee72fcd
zero division: it's an error
2009-03-29 18:47:05 +02:00
Daniel Marjamäki
e45bb20f92
tokenizer: don't replace sizeof when size can't be determined ( #233 )
2009-03-29 16:36:34 +02:00
Reijo Tomperi
bd66f12e60
astyle fix
2009-03-28 23:11:03 +02:00
Gianluca Scacco
c88a362893
Fixed ticket #228 : false positive with usage of an auto-variable
2009-03-28 21:47:38 +01:00
Daniel Marjamäki
6f7f8c4b4f
Tokenizer: Don't treat typedefs as variable declarations ( #234 )
2009-03-28 21:07:33 +01:00
Daniel Marjamäki
447c830e8f
performance enhancement (patch submitted by davidmiller in ticket 231)
2009-03-28 20:33:55 +01:00
Daniel Marjamäki
4059a2ad05
added check for zero division. The code was written by Nguyen Duong Tuan
2009-03-28 07:49:47 +01:00
Daniel Marjamäki
c0b608059a
possible null pointer dereference after a while-loop
2009-03-27 17:19:34 +01:00
Daniel Marjamäki
063f59c86c
moved checks back to style (where they used to be)
2009-03-27 15:55:14 +01:00
Daniel Marjamäki
4eeac1f364
tokenizer: fix segmentation fault if end of token list is reached
2009-03-27 15:12:49 +01:00
Daniel Marjamäki
c74da7bab9
variable id: give std::string variables an id
2009-03-25 18:10:03 +01:00
Daniel Marjamäki
8db1ac8c5d
astyle formatting
2009-03-25 07:25:33 +01:00
Daniel Marjamäki
b9f4a773b8
Buffer overrun: Added check to detect when size argument to memset is a char constant ( #213 )
2009-03-25 07:25:10 +01:00
Daniel Marjamäki
9f3634412e
simplify tokens (known variable values in conditions)
2009-03-25 07:10:17 +01:00
Gianluca Scacco
a66cf8b20f
Fixed Ticket #202 : Return of the address of an auto-variable
2009-03-24 21:53:46 +01:00
Daniel Marjamäki
afcaa30b51
Fixed ticket 216 (False positive: variable scope)
2009-03-24 20:59:56 +01:00
Daniel Marjamäki
6c1af7e5e6
register CheckClass
2009-03-24 20:47:43 +01:00
Daniel Marjamäki
586037ed11
fixed testcase
2009-03-24 20:28:44 +01:00
Daniel Marjamäki
da0b571aee
Fixed ticket 197 (false positive: condition is always true/false)
2009-03-24 19:49:01 +01:00
Daniel Marjamäki
6580e0eb21
fixed snprintf false positive ( #210 )
2009-03-24 18:43:39 +01:00
Daniel Marjamäki
65070cc067
Simplify if conditions more.. simplifyIfAssign + simplifyIfNot
2009-03-24 18:23:21 +01:00
Daniel Marjamäki
44c952873e
Fixed ticket 205 (False positive: char variable used in bit operation)
2009-03-23 19:04:51 +01:00
Daniel Marjamäki
06776c6ac7
Fixed the testcase TestMemleak::realloc3
2009-03-23 18:34:59 +01:00
Daniel Marjamäki
7905cbc5e7
simplify tokens: move assignment out from condition (Ticket #201 )
2009-03-23 18:20:56 +01:00
Daniel Marjamäki
a87419f59b
Fixed Ticket 199 (The error messages generated by 'unused functions' are wrong)
2009-03-22 18:57:53 +01:00
Daniel Marjamäki
09457194d9
astyle code formatting
2009-03-22 08:23:20 +01:00
Daniel Marjamäki
276c0a7b2f
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-03-22 08:20:41 +01:00
Daniel Marjamäki
e017d5a079
refactoring - added 'getErrorMessages' to all check classes
2009-03-22 08:20:15 +01:00
Gianluca Scacco
abda874944
Refactoring of CheckAutoVariables
2009-03-22 08:01:48 +01:00
Daniel Marjamäki
0a71771c6a
improved the Tokenizer::setVarId to handle function parameters better
2009-03-21 21:58:39 +01:00
Daniel Marjamäki
6fc66d3e2c
refactoring error messages
2009-03-21 21:33:27 +01:00
Daniel Marjamäki
729b2c1706
Fixed 188 (Return of auto variable address), applied patched submitted by gscacco
2009-03-21 18:36:41 +01:00
Daniel Marjamäki
da06c12925
refactoring error messages
2009-03-21 18:31:28 +01:00
Daniel Marjamäki
468ed653e2
refactoring error messages
2009-03-21 17:58:13 +01:00
Daniel Marjamäki
aee39ae929
refactoring - handling the stlOutOfBounds error message the new way
2009-03-21 14:20:10 +01:00
Daniel Marjamäki
001cb0a7ec
refactoring - added a function getErrorMessages that will be used to get a list of error messages
2009-03-21 14:07:51 +01:00
Daniel Marjamäki
bcad5afb26
refactoring - fixed the unit tests
2009-03-21 14:02:58 +01:00
Daniel Marjamäki
170f817a19
refactoring: there are now 2 functions for running checks. 'runChecks' and 'runSimplifiedChecks'
2009-03-21 07:53:23 +01:00
Daniel Marjamäki
0ed425d105
refactoring
2009-03-20 20:21:54 +01:00
Daniel Marjamäki
272d455e2d
refactoring: generate error message in the class
2009-03-20 20:09:44 +01:00
Daniel Marjamäki
8e4af409e7
refactoring: Added a function to the Check base class that allows easier error reporting
2009-03-20 19:52:18 +01:00
Daniel Marjamäki
ccfdbfca58
improved Token::tokAt to handle negative argument too
2009-03-20 18:50:11 +01:00
Daniel Marjamäki
9f1c3cc535
refactoring the rest of the classes
2009-03-20 18:16:21 +01:00
Daniel Marjamäki
21dff96e7b
refactoring checkbufferoverrun
2009-03-20 17:35:53 +01:00
Daniel Marjamäki
5914af4481
refactoring CheckClass
2009-03-20 17:30:24 +01:00
Daniel Marjamäki
e6e778e45f
refactoring
2009-03-20 17:15:51 +01:00
Daniel Marjamäki
5565be0c74
refactoring: minor cleanup
2009-03-19 21:20:08 +01:00
Daniel Marjamäki
d4fdfc0f5a
astyle formatting
2009-03-19 20:53:23 +01:00
Daniel Marjamäki
dfe867fded
added checkautovariables and integrated it into cppcheck
2009-03-19 20:52:18 +01:00
Daniel Marjamäki
16b6a7a605
refactoring: loop through all Check instances and execute the runChecks function
2009-03-19 19:24:13 +01:00
Daniel Marjamäki
47d7ff983f
refactoring: removed the changes to the error handling
2009-03-19 18:39:20 +01:00
Daniel Marjamäki
a573c62cd5
refactoring: first step - started with checkstl
2009-03-18 22:40:38 +01:00
Daniel Marjamäki
f37dd4f143
Fixed ticket 184 (Tokenizer - Simplification: Split up variable declarations)
2009-03-18 20:32:05 +01:00
Reijo Tomperi
2fb4c52728
Fixed tokenizer: "return - 2 ;" --> "return -2 ;"
2009-03-18 20:48:06 +02:00
Reijo Tomperi
ca055dc830
Fix ticket #191 (semicolon after #endif stop tokenizing of function)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/191
2009-03-18 01:10:26 +02:00
Reijo Tomperi
819953006c
Astyle fix
2009-03-17 22:00:27 +02:00
Daniel Marjamäki
9c057c707b
tokenize negative numbers into a single token
2009-03-17 20:50:06 +01:00
Reijo Tomperi
2a3535c04f
Fix ticket #186 (runtime error when checking code that has a namespace)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/186
2009-03-17 20:16:15 +02:00
Daniel Marjamäki
9fe8ae452a
Refactoring the code for the templates handling
2009-03-17 18:55:28 +01:00
Reijo Tomperi
b3dd9e699b
--debug flag can be used to printout token list (for development purposes)
2009-03-16 23:31:52 +02:00
Reijo Tomperi
c413c8d4b3
Fix ticket #179 (preprocessor issues)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/179
2009-03-16 23:20:55 +02:00
Daniel Marjamäki
0cc7672673
Fixed Ticket #82 (detect buffer overrun; dynamic memory)
2009-03-16 18:11:09 +01:00
Reijo Tomperi
21b687b301
Improved tokenizer to handle '#' better. Previously everything after # was combined into a single token,
...
now # is considered more like an alphabet, with few exceptions, e.g. "##" tokens.
2009-03-15 23:09:27 +02:00
Daniel Marjamäki
a6ad972aad
Fix Ticket 180 (Templates: Expanding member functions that are not implemented inline)
2009-03-15 20:03:29 +01:00
Daniel Marjamäki
9b06b22053
templates: replace constructor/destructor names when expanding template classes
2009-03-15 17:07:05 +01:00
Reijo Tomperi
ca7870af33
Fix ticket #177 (Tokenizer doesn't add braces around if-scope)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/177
2009-03-15 14:44:57 +02:00
Reijo Tomperi
bb3316a45b
Fix ticket #181 (#pragma causes wrong line numbers)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/181
2009-03-15 14:23:12 +02:00
Reijo Tomperi
c385b3e045
Improve creation of link() for Token class. Tokenizer::simplifyTokenList() should now return
...
code where Token::link() actually works.
2009-03-15 01:39:45 +02:00
Daniel Marjamäki
6eadbaae04
templates: better handling of templates with multiple type arguments
2009-03-14 21:26:32 +01:00
Daniel Marjamäki
75d0e8687b
Memory leak: handle allocation in deallocation list
2009-03-14 20:19:36 +01:00
Daniel Marjamäki
02df14ec37
Memory leaks: Refactoring to use Tokenizer::FindClassFunction. Enabled test case, the memory leak is now detected
2009-03-14 18:21:37 +01:00
Daniel Marjamäki
01c39daa13
Merge branch 'ref'
2009-03-13 22:39:47 +01:00
Daniel Marjamäki
daa911daeb
refactoring: moved 'FindClassFunction' from CheckClass to Tokenizer
2009-03-13 22:28:44 +01:00
Reijo Tomperi
116e940214
Fixed ticket #169 (Add Token::link())
...
http://apps.sourceforge.net/trac/cppcheck/ticket/169
2009-03-13 23:25:56 +02:00
Reijo Tomperi
3c4704a00c
Fix ticket #151 (Handling of namespaces)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/151
2009-03-13 01:07:05 +02:00
Daniel Marjamäki
4c28882a12
expanding template classes
2009-03-12 22:17:42 +01:00
Daniel Marjamäki
f96e2deb1a
uninitialized const pointer member variables
2009-03-12 21:33:10 +01:00
Daniel Marjamäki
1514e65464
astyle style fixes
2009-03-11 19:14:45 +01:00
Daniel Marjamäki
77cf2213fe
templates: simplify template functions with 1 type argument
2009-03-11 18:50:24 +01:00
Daniel Marjamäki
eac29d151c
made the Tokenizer::simplifyCasts more generic
2009-03-10 21:26:08 +01:00
Daniel Marjamäki
c7c13ce3c1
Fixed ticket 134 (memory leak not detected) caused by wrong checking if code is inside class function or not
2009-03-10 20:44:24 +01:00
Daniel Marjamäki
cd54a0ed3b
Fixed ticket 147 (Invalid line number for error message)
2009-03-09 20:29:25 +01:00
Daniel Marjamäki
f39e117921
removed unused private function CheckSecurity::eraseCheckLoop
2009-03-09 20:09:06 +01:00
Daniel Marjamäki
f8cd34198b
simplify casts
2009-03-09 19:47:21 +01:00
Vesa Pikki
ccfa7ce6ee
Merge branch 'WinQt' of git@github.com:danmar/cppcheck into WinQt
2009-03-09 20:00:06 +02:00
Reijo Tomperi
de1a786a07
Fix ticket #148 (unable to compile with g++-3.3)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/148
2009-03-08 20:50:19 +02:00
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