Slava Semushin
74bbe945f6
Fixed #272 ("The scope of the variable XXX can be limited" not detected when variable is initilialized during declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/272
2009-08-17 02:12:57 +07:00
Slava Semushin
32c8ba526b
MathLib(isInt): formatted and get rid of tabs.
...
No functional change.
2009-08-17 00:43:45 +07:00
Slava Semushin
8659c4828c
MathLib(isInt): use std::tolower().
...
No functional change.
2009-08-17 00:31:15 +07:00
Slava Semushin
a11089cb50
MathLib(isInt): use isxdigit().
...
No functional change.
2009-08-17 00:27:14 +07:00
Daniel Marjamäki
52856fcbeb
ettlmartin: improved the MathLib::IsInt
2009-08-16 18:45:26 +02:00
Slava Semushin
522f783ada
CheckMemoryLeak: try to speed up call_func().
...
Using std::set::find() instead of sequence of Match() calls.
2009-08-16 22:02:11 +07:00
Reijo Tomperi
fb85ee5356
Update version number to 1.35
2009-08-16 16:57:16 +03:00
Slava Semushin
4fa6c76c75
CheckAutoVariables(autoVariables): make code more readable.
...
- Reduce indentation
- Don't check bindent in many conditions
- Move inner if-s to outer condition
Should be no functional change.
2009-08-16 17:53:29 +07:00
Slava Semushin
aa4bb4d218
CheckAutoVariables: const modifier propagation.
...
No functional change.
2009-08-16 16:46:13 +07:00
Slava Semushin
41e2668138
CheckAutoVariables: don't save and search for local variables with varId 0.
2009-08-16 16:43:04 +07:00
Slava Semushin
fc5f4d366e
CheckAutoVariables: added braces.
...
No functional change.
2009-08-16 16:36:07 +07:00
Slava Semushin
743d5331ee
CheckAutoVariables(returnPointerToLocalArray): replace std::list to std::set
...
Use std::set and std::set::find() instead of std::list and
std::find(). First should be faster (runs in the logarithmic time) than
second (runs in linear time).
No functional change.
2009-08-16 16:31:44 +07:00
Slava Semushin
2dccf150ab
CheckAutoVariables: change type of vp_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:16:35 +07:00
Slava Semushin
053e6f8b9a
CheckAutoVariables: change type of vd_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:10:42 +07:00
Slava Semushin
ec81080d0b
CheckAutoVariables: change type of vda_list member to std::set.
...
Change type of vda_list from std::list to std::set. It allows to us
use find() method instead of self-written loop which may be slow.
No functional change.
2009-08-16 16:02:21 +07:00
Slava Semushin
475ef4213b
CheckAutoVariables: use varId instead of variable names.
...
This change similar to be89be8c30
but
for vd_list member.
2009-08-16 15:46:52 +07:00
Slava Semushin
be89be8c30
Fixed #590 (False positive: Invalid deallocation when variables have same name)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/590
2009-08-16 15:27:40 +07:00
Reijo Tomperi
f36f3bfae1
line change and encoding fixes
2009-08-15 22:39:57 +03:00
Slava Semushin
19e5fdb087
Fixed #588 (Preprocessor: Sort the configurations)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/588
2009-08-15 09:35:54 +07:00
danmar
dfa8a2e67c
Visual C++: Fixed testrunner compilation problems
2009-08-14 12:46:55 +02:00
danmar
e9f643f04c
Borland C++ Builder: Fixed compilation problems when compiling cppcheck
2009-08-14 12:28:41 +02:00
Reijo Tomperi
c8da301f83
fix ticket #586 (Preprocessor: Lines like "#error don't" can cause "no pair for character" errors)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/586
2009-08-14 00:22:51 +03:00
Daniel Marjamäki
51365c4b9d
mathlib: minor fix
2009-08-13 22:31:58 +02:00
danmar
3de825c290
Borland C++ Builder: Fixed compilation and testrunner problems
2009-08-13 22:13:52 +02:00
Reijo Tomperi
4f8a06ed0d
Initial work for class and member function/variable list in tokenizer.
2009-08-12 23:50:03 +03:00
Daniel Marjamäki
ad4ea01750
Fixed #583 (False positive: the nullpointer check doesn't handle goto properly)
2009-08-12 18:54:52 +02:00
Slava Semushin
6a7624054e
Fixed ticket #584 (Tokenizer: don't set varId for class declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/584
2009-08-12 01:58:49 +07:00
Daniel Marjamäki
e7feac506c
Refactoring: updated the nullPointer message so it contains the name of the pointer
2009-08-11 17:18:01 +02:00
Daniel Marjamäki
ecdbcbce3d
Fixed #566 (False positive when assigning the return value of realloc(NULL,..) to a pointer variable holding a freed memory address)
2009-08-10 22:04:28 +02:00
Daniel Marjamäki
045b73c7ec
Fixed #582 (Preprocessor: Remove assembler code inside pragmas)
2009-08-10 20:07:55 +02:00
Reijo Tomperi
93604dd344
Fixed ticket #578 (missing virtual destructor not detected)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/578
2009-08-10 17:58:13 +03:00
Daniel Marjamäki
3331cb834f
Hoangtuansu: Fixed #537 (false positive::operator= should return something)
2009-08-09 19:57:48 +02:00
Gianluca Scacco
741073cc21
Style check
2009-08-09 15:44:01 +02:00
Gianluca Scacco
ab12b9923d
Invalid deallocation check done
2009-08-09 15:40:04 +02:00
Slava Semushin
c66103f7bc
Fixed ticket #574 (Tokenizer: not assign varId when variable first afer keyword and has long type)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/574
2009-08-09 15:41:31 +07:00
Slava Semushin
1fd2c0ff28
Fixed ticket #572 (Tokenizer: improve detection of arrays)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/572
2009-08-09 15:16:37 +07:00
Slava Semushin
5f3baba178
Fixed ticket #573 (False positive of set range check when we dereferencing iterator)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/573
2009-08-09 02:07:33 +07:00
Slava Semushin
eebb1671a5
checkbufferoverrun.cpp: get rid of Match() usage with varid 0.
2009-08-09 01:09:45 +07:00
Slava Semushin
0f96299d87
Fixed ticket #570 (Buffer overrun not detected when sprintf() format string greater then buffer size)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/570
2009-08-08 21:52:35 +07:00
Slava Semushin
92d4c086ce
Fixed ticket #571 (Buffer overrun for sprintf() not detected after first ')' symbol)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/571
2009-08-08 21:03:10 +07:00
Slava Semushin
50f7fa5828
Fixed ticket #565 (Tokenizer: simplify variable declaraion like 'int z = x >> 16')
...
http://sourceforge.net/apps/trac/cppcheck/ticket/565
2009-08-08 17:33:07 +07:00
Reijo Tomperi
e93179dd9a
Improve speed with files containing classes.
...
E.g. measured speed difference was 1m11.042s --> 0m45.005s with one large test file.
2009-08-08 00:49:37 +03:00
Daniel Marjamäki
a0a4008e17
Fixed #525 (false positive: vector range checking with <)
2009-08-07 16:23:28 +02:00
Reijo Tomperi
d719606201
Fixed ticket #564 (set variable id for "struct ABC **p")
...
http://sourceforge.net/apps/trac/cppcheck/ticket/564
2009-08-07 00:31:39 +03:00
Reijo Tomperi
80953633ee
Fix ticket #563 (set variable id for **p)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/563
2009-08-06 23:11:29 +03:00
Daniel Marjamäki
5087dc6b46
Bail out if variable id is 0. This should be reverted when #563 has been fixed
2009-08-06 21:48:22 +02:00
Reijo Tomperi
eb691857fd
Improve speed a lot for files that have long number lists like = { 0,1,2,3,4, etc. }
2009-08-05 23:02:40 +03:00
Daniel Marjamäki
ce8c5b0236
Fixed #555 (False positive: [CuTest.c:25]: (error) Memory leak: len)
2009-08-05 21:18:16 +02:00
Daniel Marjamäki
e1beb70f80
Fixed #558 (Tokenizer: Bad simplification of 'for(unsigned i = 0; i < 100; ++i)')
2009-08-05 20:15:48 +02:00
Daniel Marjamäki
1c59e4a51b
Fixed #528 (Tokenizer: Simplify: 'if(!(a->x=b()))')
2009-08-05 19:45:05 +02:00
Daniel Marjamäki
cb57bd6678
Listing error messages in XML format
2009-08-04 21:36:55 +02:00
Daniel Marjamäki
9e348ca739
Fixed #554 (resource leak false positive)
2009-08-04 21:34:14 +02:00
Daniel Marjamäki
706ba34a6d
Refactoring the unit testing
2009-08-04 21:32:14 +02:00
Reijo Tomperi
975e7778ab
Fix ticket #531 (false positive about missing virtual destructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/531
2009-08-04 22:23:22 +03:00
Reijo Tomperi
769119c725
Fix ticket #552 (False positive with --all when realloc is used with two variables.)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/552
2009-08-02 23:30:43 +03:00
Reijo Tomperi
10f6678cf9
TODO test case realloc5 added and "Checkmemoryleak: simplifycode result for" debug info added.
2009-08-02 22:23:47 +03:00
Reijo Tomperi
e0f416e52e
astyle fix
2009-08-02 22:11:17 +03:00
Slava Semushin
be82d09003
src/checkbufferoverrun.cpp: fixed regression.
2009-08-02 20:34:28 +07:00
Slava Semushin
13532cbff7
src/checkbufferoverrun.cpp: don't call Token::Match() for variables with varId 0.
2009-08-02 20:01:59 +07:00
Slava Semushin
822fb93cda
Improved "index out of bounds" check.
...
Corrected 342acaaaf2
commit.
2009-08-02 19:29:45 +07:00
Slava Semushin
35e35b38a7
MathLib: introduce and use calculate() method.
...
No functional change.
2009-08-02 19:29:30 +07:00
Slava Semushin
98e8e69c8e
src/tokenize.cpp: don't call std::string.c_str() for Token::str() argument.
...
In 4286fdbabb
commit I introduce
Token::str() method with std::string argument and now we may get rid
of useless std::string.c_str() calls.
No functional change.
2009-08-02 15:54:46 +07:00
Slava Semushin
ed86eda07d
Fixed ticket #549 (Tokenizer: improve calculation simplification)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/549
2009-08-02 15:45:33 +07:00
Slava Semushin
342acaaaf2
Fixed #547 (index out of bounds not detected when addition used as array index)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/547
2009-08-02 14:59:02 +07:00
Slava Semushin
0445edf6fe
Fixed #542 (Tokenizer: allow numbers in templates parameters)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/542
2009-08-01 23:17:35 +07:00
Slava Semushin
3158e32b7c
src/checkstl.cpp(iterators): some corrections.
...
Corrections for my changes in 12ca70fe5a
and 347802f819
commits.
2009-08-01 21:37:24 +07:00
Slava Semushin
0e2273833e
Fixed ticket #539 (Tokenizer: don't replace constants variables with varid 0)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/539
2009-08-01 20:57:54 +07:00
Daniel Marjamäki
b5d172b6e9
preprocessor: fixed problem in Preprocessor::expandMacros when macro argument is for example 'unsigned long'
2009-08-01 14:55:45 +02:00
Daniel Marjamäki
e6713e9774
null pointers: fixed a false positive
2009-08-01 11:30:37 +02:00
Daniel Marjamäki
b7ffcf53ba
Fixed #511 (false positive, memory leak when using 'var = ({});')
2009-07-31 23:42:21 +02:00
Slava Semushin
8588012df7
Fixed #521 (Tokenizer: improve static variable detection)
...
Also change cppcheck default behavior to don't show "If you see this,
there is a bug" message for each variable without varId. This feature
was very helpful for developers but may annoying users.
http://sourceforge.net/apps/trac/cppcheck/ticket/521
2009-08-01 00:40:36 +07:00
Slava Semushin
fa8e1c82f0
Fixed ticket #534 (Segmentation fault when checking VLC sourcecode)
...
Fixed all valgrind errors.
http://sourceforge.net/apps/trac/cppcheck/ticket/534
2009-07-31 23:06:16 +07:00
Daniel Marjamäki
2d9e4e1a73
null pointers: detect when there are possible null pointer dereferencing when looping through a linked list both in inner and outer loops at the same time
2009-07-31 10:49:43 +02:00
Slava Semushin
347802f819
Fixed ticket #503 (Dereferencing after erase() not work if we try to get access to member)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/503
2009-07-31 00:49:38 +07:00
Slava Semushin
5db677bc30
Fixed ticket #523 (Tokenizer: set varId for types with long namespaces)
...
FIXME: skip namespaces by the best way.
http://sourceforge.net/apps/trac/cppcheck/ticket/533
2009-07-31 00:40:41 +07:00
Slava Semushin
681b836389
Fixed ticket #532 (Tokenizer: set varId for types which have comma in template parameter)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/532
2009-07-31 00:25:26 +07:00
Slava Semushin
12ca70fe5a
src/checkstl.cpp(iterators): skip already processed tokens.
...
No functional change.
2009-07-30 23:57:58 +07:00
Slava Semushin
a1a4577a7c
src/checkstl.cpp(iterators): simplify condition.
2009-07-30 23:49:04 +07:00
Slava Semushin
46a386ba83
src/checkstl.cpp(iterators): fixed coding mistake.
2009-07-30 23:37:39 +07:00
Reijo Tomperi
c9b34706f9
include <ctime> for clock_t (fix compile problem)
2009-07-30 13:31:47 +03:00
Daniel Marjamäki
d06e669017
Preprocessor: Speedup of the match_cfg_def function
2009-07-30 10:10:34 +02:00
Reijo Tomperi
b56fdb83da
Fixed ticket #529 (Tokenizer: simplify if((x==0)))
...
http://sourceforge.net/apps/trac/cppcheck/ticket/529
2009-07-30 00:37:01 +03:00
Daniel Marjamäki
050b85c5eb
memory leak for struct member: fixed false positive when the struct pointer is stored away
2009-07-29 11:38:20 +02:00
Daniel Marjamäki
4e66dc105e
null pointers: Fixed false positive when 'do' are used
2009-07-29 11:17:22 +02:00
Slava Semushin
367efe31ea
Fixed ticket #524 (Containers range check shouldn't stop at first founded error)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/524
2009-07-29 03:55:23 +07:00
Slava Semushin
9bf80cb53b
src/checkstl.cpp(stlBoundries): simplify condition.
...
No functional change.
2009-07-29 03:23:23 +07:00
Slava Semushin
8b0c1daf98
Fixed ticket #522 (Tokenizer: recognize comma in container with STL type declaration)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/522
2009-07-29 02:46:33 +07:00
Slava Semushin
524b0cd9b8
src/checkstl.cpp(iterators): reduce indentation.
...
No functional change.
2009-07-29 01:05:00 +07:00
Slava Semushin
f50aa1e188
Fixed ticket #520 (Tokenizer: properly set varId for containers with STL types)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/520
2009-07-29 00:54:13 +07:00
Slava Semushin
c8caefa94c
Fixed ticket #519 (Tokenizer converts commas in for-loops)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/519
2009-07-28 23:40:15 +07:00
Slava Semushin
600f3a834d
Fixed ticket #514 (false positive:: memory leak when using comma near delete[])
...
http://sourceforge.net/apps/trac/cppcheck/ticket/514
2009-07-28 02:13:08 +07:00
Slava Semushin
82ae0e305b
checkautovariables: added newlines to make code more readable.
...
No code change.
2009-07-28 00:34:17 +07:00
Slava Semushin
bb4b2b707c
Fixed ticket #517 (False positive for extern variables: return of the address of an auto-variable)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/517
2009-07-28 00:32:01 +07:00
Slava Semushin
65d6bce165
Replace Match() to operator==() from std::string.
...
No functional change.
2009-07-28 00:13:44 +07:00
Slava Semushin
5ce151983e
Replace simpleMatch() to operator==() from std::string.
...
No functional change.
2009-07-28 00:13:11 +07:00
Slava Semushin
1ac496e707
src/checkautovariables.cpp(autoVariables): simplify condition.
...
No functional change.
2009-07-28 00:12:05 +07:00
Slava Semushin
5ff88d7e47
src/checkautovariables.cpp: assign default value to std::string during object creation.
...
No functional change.
2009-07-28 00:11:21 +07:00
Daniel Marjamäki
55db301b8c
gcc: added an option '--showtime' => show some simple timing information
2009-07-27 14:41:34 +02:00
Reijo Tomperi
0a7a4a9d55
Update to ticket #265 (Log a warning when an include file is not found)
...
Only warn about "foo.h", don't warn about <foo.h>
http://sourceforge.net/apps/trac/cppcheck/ticket/265
2009-07-26 23:15:29 +03:00
Daniel Marjamäki
b4a6d74e42
astyle formatting
2009-07-26 22:13:08 +02:00