Daniel Marjamäki
1dd2ec4757
Fixed #414 (memory leak in if-else construct not detected)
2009-08-29 16:55:43 +02:00
Daniel Marjamäki
270d2b2d4f
memory leaks: improved the simplification of 'if* ;'
2009-08-29 16:27:16 +02:00
Daniel Marjamäki
8f1f89ae2b
memory leaks: fixed todo test case. reduce exit better
2009-08-29 16:03:23 +02:00
Slava Semushin
085187b445
Tokenizer: enhance simplifyNot() and rename to simplifyLogicalOperators().
...
Don't replace "and" everything becuse it may be used as variable name.
Better fix for #620
Corrections for commit eb05cf904d
2009-08-29 20:42:14 +07:00
Slava Semushin
0582572867
Tokenizer(simplifyNot): replace "if" by "else if" and added braces.
...
No functional change.
2009-08-29 20:32:48 +07:00
Daniel Marjamäki
b5c6d7ba49
memory leaks: fixed bug. return|else are not part of a variable declaration
2009-08-29 15:20:37 +02:00
Slava Semushin
eb05cf904d
Fixed #620 (Tokenizer: replace "and" by "&&")
...
http://sourceforge.net/apps/trac/cppcheck/ticket/620
2009-08-29 19:26:01 +07:00
Slava Semushin
840bbcfcbb
Tokenizer(simplifyIfAssign): fixed to link() just inserted tokens.
...
Fixed segfault on samba sources.
2009-08-29 18:10:43 +07:00
Slava Semushin
d6017756f4
Tokenizer(simplifyComma): join two if bodies to one.
...
No functional change.
2009-08-29 16:48:44 +07:00
Slava Semushin
ae413a1ef0
Fixed #618 (Tokenizer: Wrong handling of enum)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/618
2009-08-29 16:42:42 +07:00
Slava Semushin
78d44e67ef
CheckMemoryLeakInFunction(getcode): don't call Token::Match() if varid equals to zero.
2009-08-29 16:27:56 +07:00
Slava Semushin
fe1101771a
Tokenizer: call createLinks() only once.
...
Fixed simplifyIfAssign() and simplifyIfNot() to link() just inseted
tokens.
No functional change.
2009-08-29 16:10:04 +07:00
Daniel Marjamäki
6347d0e976
memory leaks: better handling of open/close
2009-08-29 09:18:21 +02:00
Daniel Marjamäki
88d0bd3908
astyle
2009-08-29 08:20:18 +02:00
Daniel Marjamäki
ee5b2a43c7
Fixed #627 (False positive with --all, Resource leak with open())
2009-08-29 07:43:44 +02:00
Daniel Marjamäki
de9e62e90a
Memory leaks: handling asprintf better
2009-08-29 07:26:32 +02:00
Daniel Marjamäki
406fdd3219
Memory leaks: Fixed two todo testcases (getcode handling of asprintf)
2009-08-29 07:02:36 +02:00
Daniel Marjamäki
ab047c680c
memory leaks: fixed a todo testcase
2009-08-29 06:42:24 +02:00
Daniel Marjamäki
74fd052fc0
Memory leaks: Testing that asprintf is handled correctly
2009-08-28 23:26:40 +02:00
Reijo Tomperi
0f0d7e92ee
Fixed bug in Token::deleteThis and optimized createLinks() calls.
2009-08-28 23:31:11 +03:00
Reijo Tomperi
bf4ac5521d
astyle fix
2009-08-28 23:29:08 +03:00
danmar
4f6b79b761
Fixed #625 (cppcheck dumps core on valid code)
2009-08-28 12:57:29 +02:00
danmar
bb2bda0be4
Fixed #622 (Tokenizer: Calculations are wrong)
2009-08-28 12:13:46 +02:00
danmar
465c450247
Borland C++: Fixed problem in FileLister
2009-08-28 11:00:42 +02:00
danmar
3b2744e04a
borland c++: fixed compiler errors
2009-08-28 10:22:40 +02:00
Daniel Marjamäki
5d2c409e46
Fixed #623 (False positive: possible null pointer dereference when using the ?: operator)
2009-08-28 08:48:37 +02:00
Slava Semushin
dd64637ff1
Fixed #616 (Tokenizer: simplifyTemplates() should link() all inserted brackets)
...
This also fixed #619 .
http://sourceforge.net/apps/trac/cppcheck/ticket/616
http://sourceforge.net/apps/trac/cppcheck/ticket/619
2009-08-27 23:45:59 +07:00
Slava Semushin
9e32a0a595
Revert "Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp)"
...
This reverts commit 89f9645174
.
This change not fully and properly fixes a problem but just work
arround it. The root of problem is because
Tokenizer::simplifyTemplates() inserts new tokens with brackets which
not link()-ed.
2009-08-27 23:40:58 +07:00
Reijo Tomperi
929dbe92e4
Fix the last test case from ticket #613 (array members variables are not checked in constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/613
2009-08-26 23:33:23 +03:00
Daniel Marjamäki
ff9ed1d7aa
Preprocessor: better handling of pragma asm and pragma endasm
2009-08-26 21:54:43 +02:00
Slava Semushin
7c86a10a9d
Fixed #617 (False positive "buffer overrun" when sprintf() doesn't have optional parameters)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/617
2009-08-27 00:21:32 +07:00
Daniel Marjamäki
f94aab35e7
Fixed #498 (Tokenizer: simplify 'goto')
2009-08-26 18:46:56 +02:00
Slava Semushin
89f9645174
Fixed #616 (cppcheck crashes with Eigen/src/Cholesky/CholeskyInstantiations.cpp)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/616
2009-08-26 23:44:01 +07:00
Slava Semushin
8dcb846627
Fixed #614 (If you see this, there is a bug ###### Token::Match() - varid was 0)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/614
2009-08-26 02:44:19 +07:00
Slava Semushin
311fb1a1f8
src/checkmemoryleak.{h,cpp}: minor improvements.
...
Corrections for commit 0d6b6e840d
No functional change.
2009-08-26 02:32:10 +07:00
Slava Semushin
ff3d1db480
Replace "const unsigned int" to "unsigned int" in methods parameters.
...
No functional change.
2009-08-26 02:26:12 +07:00
Slava Semushin
bb15efb928
src/checkclass.cpp: propagate Token::strAt().
...
No functional change.
2009-08-26 02:04:48 +07:00
Slava Semushin
9a2a12c333
Tokenizer(simplifyGoto): create links for inserted braces.
2009-08-26 01:58:50 +07:00
Daniel Marjamäki
9569f758f8
fixed segmentation fault
2009-08-25 17:54:04 +02:00
Daniel Marjamäki
c25e1963b1
Fixed #498 (Tokenizer: simplify 'goto')
2009-08-24 23:10:12 +02:00
Reijo Tomperi
c581753040
Fix ticket #613 (array members variables are not checked in constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/613
Patch from micres
2009-08-23 22:54:41 +03:00
Daniel Marjamäki
522f4c18c8
astyle formatting
2009-08-23 17:17:57 +02:00
Daniel Marjamäki
9da2ecf4f4
Refactoring the unit testing. Wrote special tests for CheckMemoryLeakInFunction::findleak
2009-08-23 15:48:25 +02:00
Daniel Marjamäki
99938353b4
Merge commit 'd0k/master'
2009-08-23 12:45:49 +02:00
Slava Semushin
8cafaf2960
Fixed #603 (Tokenizer: Incorrect simplification of < >)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/603
2009-08-23 13:26:16 +07:00
Slava Semushin
e6120a5725
Fixed #581 (Wrong usage of div-function)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/581
2009-08-23 10:37:09 +07:00
Slava Semushin
703fd45f78
Tokenize: minimize createLinks() calls.
...
No functional change.
2009-08-23 10:36:34 +07:00
Benjamin Kramer
18696679e3
Token: inline some functions
2009-08-22 22:36:12 +02:00
Benjamin Kramer
0d6b6e840d
Improve performance by using bsearch(3) instead of a std::set
...
The function name list is already in memory so we can avoid copying it into a std::set
if we sort the list alphabetically. This way no binary search tree has to be allocated.
Before (best of 5 runs):
./testrunner > /dev/null 0,21s user 0,00s system 95% cpu 0,221 total
After (best of 5 runs):
./testrunner > /dev/null 0,20s user 0,00s system 95% cpu 0,210 total
2009-08-22 20:24:26 +02:00
Slava Semushin
7ac6162947
Token::createMutualLinks(): introduce and use.
...
No functional change.
2009-08-22 21:22:50 +07:00
Slava Semushin
368bacff9a
Tokenizer: propagate Token::eraseTokens().
...
No functional change.
2009-08-22 21:04:58 +07:00
Slava Semushin
282f9104e7
Tokenizer::simplifyTokenList(): call link() for just inserted tokens.
2009-08-22 20:41:26 +07:00
Slava Semushin
6a5afd6243
Refactoring: Use the MathLib::toString() to stringify a number.
...
No functional change.
2009-08-22 18:47:14 +07:00
Daniel Marjamäki
724d6bf53a
Fixed #507 (Preprocessor: Incorrect expanding of inner macros)
2009-08-22 13:03:52 +02:00
Slava Semushin
acc38a8bbf
Fixed #592 (Tokenizer: improve the tokenization of do .. while)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/592
2009-08-22 17:49:42 +07:00
Daniel Marjamäki
94c49bc34e
Fixed #608 (Tokenizer: simplifyKnownVariables doesn't handle 'while (--i)' correctly)
2009-08-22 10:23:55 +02:00
Slava Semushin
2664bcf650
Tokenizer::simplifyIfAddBraces: use Token::link() instead of loop.
...
No functional change.
2009-08-22 14:54:28 +07:00
Slava Semushin
cbeb45566b
Fixed #609 (Tokenizer: don't add {} after do-while();)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/609
2009-08-22 14:49:45 +07:00
Daniel Marjamäki
7b3fdec5cf
Refactoring: Use the MathLib::toString to stringify a number
2009-08-21 14:50:13 +02:00
Daniel Marjamäki
439ff8b144
Fixed #599 (False positive: null pointer dereference)
2009-08-21 12:42:40 +02:00
Daniel Marjamäki
88251f5ac0
astyle formatting
2009-08-21 11:11:21 +02:00
Reijo Tomperi
9d1907be66
Fix ticket #600 (Tokenizer: if(!(fclose(fd) == 0)) is simplified incorrectly)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/600
2009-08-20 22:37:05 +03:00
Reijo Tomperi
7d44ce7736
Fix ticket #598 (Preprocessor: Multiline comments add line change to wrong location)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/598
2009-08-20 00:27:47 +03:00
Daniel Marjamäki
8b46172bcf
Memory leaks: Use varid instead of varname
2009-08-19 19:42:07 +02:00
Daniel Marjamäki
85682ed429
Fixed #591 (False positive: Deallocating a deallocated pointer)
2009-08-18 20:49:08 +02:00
Daniel Marjamäki
2cdb0abb82
Refactoring: Use the Token::link instead of loop
2009-08-17 22:23:37 +02:00
Reijo Tomperi
40fc605e2b
Fix ticket #597 (Compile error with Visual C++)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/597
2009-08-17 22:24:17 +03:00
Kimmo Varis
ec40b4c628
Don't force debug builds in qmake project files.
...
When creating makefiles with qmake one needs to give the target in command
line. E.g.
$ qmake -config debug
or
$ qmake -config release
For Visual studio projects both targets are generated by just running the
qmake command without switches.
2009-08-17 18:12:53 +03:00
Kimmo Varis
d16d19e580
Add new header file to qmake project files.
2009-08-17 18:05:10 +03:00
Reijo Tomperi
8b4b618fc4
Use _str.length() == 1, instead of _str[1] == 0
2009-08-16 23:50:00 +03:00
Reijo Tomperi
36a8e8afba
Fix ticket #543 (Possible buffer overrun in Token::Match())
...
http://sourceforge.net/apps/trac/cppcheck/ticket/543
Get rid of string copying in Token::Match(), also improves speed a little.
8.0s -> 7.7s
2009-08-16 23:28:17 +03:00
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
Slava Semushin
6c022798ea
Fixed ticket #499 (buffer overflow not detected when using macros)
...
sprintf() buffer overrun detection works wrong due to typo (since time
when it was added in commit a604f56f19
).
Also reports buffer overrun when sprintf() writes bytes equal to
buffer size -- in this case off-by-one error appears.
http://sourceforge.net/apps/trac/cppcheck/ticket/499
2009-07-26 19:29:46 +07:00
Slava Semushin
a73346e889
Fixed ticket #496 (Tokenizer: simplify statements with "," better)
...
https://sourceforge.net/apps/trac/cppcheck/ticket/496
2009-07-26 18:03:11 +07:00
Daniel Marjamäki
ea49b433ec
Fixed #506 (###### If you see this, there is a bug ###### Token::Match())
2009-07-26 11:46:00 +02:00
Reijo Tomperi
25d991d948
Removed some debug output which should not be on and cleaned up a little.
2009-07-26 00:16:18 +03:00
Reijo Tomperi
a07b7635c0
Fix ticket #265 (Log a warning when an include file is not found)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/265
2009-07-25 22:10:30 +03:00
Daniel Marjamäki
a6d696bf40
Fixed #504 (false positive: null pointer dereference)
2009-07-25 20:36:02 +02:00
Daniel Marjamäki
321106c39e
speedup of CheckOther::postIncrement
2009-07-25 19:36:57 +02:00
Daniel Marjamäki
2544bd8805
astyle formatting
2009-07-25 16:27:18 +02:00
Daniel Marjamäki
f877cd2db1
Preprocessor: Added todo test case for better evaluation of #if conditions
2009-07-25 16:22:42 +02:00
Daniel Marjamäki
dacaff824c
Fixed #501 (Preprocessor should read open configurations that are defined within the file)
2009-07-25 13:58:34 +02:00
Slava Semushin
5f4c83a25e
src/checkother.cpp: simplify condition a bit.
...
No functional change.
2009-07-25 18:23:13 +07:00
Slava Semushin
8643936e0c
Fixed ticket #500 (Tokenizer: simplify the "(p != NULL)" conditions)
...
Also teach simplifyIfNot() to handle variables like Foo::var.
https://sourceforge.net/apps/trac/cppcheck/ticket/500
2009-07-25 18:23:03 +07:00
booga
9fa8c0ee9c
astyle FTW (should have read about that sooner)
2009-07-24 19:23:30 -04:00
booga
52e2e775b2
Fix #476 STL Container checks.
...
Fix #473 Add post increment check for STL objects and Classes.
2009-07-24 18:36:15 -04:00
Daniel Marjamäki
9136d8cf80
Tokenizer: simplify return statements - remove redundant parantheses
2009-07-24 21:55:35 +02:00
Daniel Marjamäki
6bb85703f6
memory leaks: fixed false positive for struct members - better handling of if/else
2009-07-24 09:05:40 +02:00
Daniel Marjamäki
5b81c92a14
null pointers: fixed false positives when checking if pointer is null at many locations ( #485 )
2009-07-23 19:59:29 +02:00
Daniel Marjamäki
06c8ff9d0d
null pointers: fixed false positives ( #49 )
2009-07-23 19:02:14 +02:00
Daniel Marjamäki
565ac2fca6
Fixed #493 (Memory leak: False positive when using the exit(0))
2009-07-23 16:30:30 +02:00
Daniel Marjamäki
d0f1d885ed
null pointers: dereferencing a pointer and then checking if it's null ( #49 )
2009-07-23 14:13:46 +02:00
Daniel Marjamäki
024778d6eb
tokenizer: simplify '?:' better when the condition is always true
2009-07-23 10:12:02 +02:00
Daniel Marjamäki
9b2dd8c7eb
Preprocessor: Better evaluation of conditions such as '#if defined A || defined B' ( #469 )
2009-07-22 20:11:27 +02:00
Daniel Marjamäki
62f681094f
tokenizer: added todo for simplifying '(true?x:y)' => '(x)'
2009-07-22 19:39:31 +02:00
Daniel Marjamäki
6fecd858e3
Fixed #469 (Preprocessor should read open configurations that are defined within the file)
2009-07-22 18:47:50 +02:00
Daniel Marjamäki
1d514e1afe
Fixed #497 (Templates are not expanded correctly)
2009-07-22 13:29:42 +02:00
Daniel Marjamäki
3243933c90
Fixed #494 (False positives of checking leaks struct members)
...
Better handling of function calls
2009-07-22 08:30:51 +02:00
Daniel Marjamäki
ba36c9426b
null pointers: better checking when dereferencing pointer and then checking if it is null ( #485 )
2009-07-21 17:00:11 +02:00
Daniel Marjamäki
6f646246ee
dereferencing deallocated memory: it is ok to take the address to deallocated memory but it is not ok to dereference the address
2009-07-21 13:04:13 +02:00
Daniel Marjamäki
45f8560537
invalid pointer usage: broke out CheckOther::invalidPointer from the CheckOther::nullPointer ( #485 )
2009-07-21 12:09:58 +02:00
Daniel Marjamäki
ce595dd5c7
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-07-21 07:41:43 +02:00
Reijo Tomperi
d2278b5ce0
Fix some of the issues from #478 (Warnings in Visual Studio build with -W4)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/478
2009-07-20 23:24:23 +03:00
Reijo Tomperi
973bb164ea
Fix ticket #486 (C-style pointer casting misses const pointers)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/486
2009-07-20 22:52:27 +03:00
Daniel Marjamäki
0e208eb52f
null pointer dereferencing: fixed another false positive ( #485 )
2009-07-20 19:59:55 +02:00
Daniel Marjamäki
05a1c50ff2
null pointer dereferencing: removed a few false positives in the new check that I added ( #485 )
2009-07-20 19:30:33 +02:00
Daniel Marjamäki
324f12a103
fix bug in previous commit that fixed #485
2009-07-20 19:10:33 +02:00
Daniel Marjamäki
b7ba49114c
Fixed #485 (detect when code is checking for null after dereferencing)
2009-07-20 18:53:41 +02:00
Daniel Marjamäki
f0afdf3582
preprocessor: Fixed hanging in Preprocessor::expandMacros when trying to replace all '__VA_ARGS__' with '__VA_ARGS__'
2009-07-20 15:42:40 +02:00
Daniel Marjamäki
74699cab66
memory leak for struct member: made the checking more sensitive. Skip bail-out execution paths were the member is properly deallocated
2009-07-20 14:39:24 +02:00
Daniel Marjamäki
ddaea3244d
memleak: implemented simple checking for leaking struct members
2009-07-19 16:51:31 +02:00
Daniel Marjamäki
ffac9281c4
astyle formatting
2009-07-18 20:35:22 +02:00
Slava Semushin
2ba0897ecb
src/checkmemoryleak.cpp: added fchmod() function to white list.
2009-07-18 23:48:48 +07:00
Slava Semushin
d3490abd64
Finally fixed ticket #284 (style check: redundant condition improvement)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/284
2009-07-18 21:42:08 +07:00
Slava Semushin
a0a526a205
Fixed ticket #464 (resource leak not detected when getc is used on the file handle)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/464
2009-07-18 18:32:55 +07:00
Slava Semushin
53c120c701
Fixed ticket #479 (varId not assigned to reference to standart container)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/479
2009-07-18 17:41:46 +07:00
Kimmo Varis
861774575d
Enable more warnings in QMake-generated makefiles.
...
Use same warning levels for GCC than in original makefile. Use W4 level for Visual Studio.
2009-07-18 13:10:24 +03:00
Kimmo Varis
4622f9891c
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-07-18 11:26:15 +03:00
Kimmo Varis
180a04316d
Fix couple of doxygen errors and warnings.
2009-07-18 11:25:22 +03:00
Daniel Marjamäki
2ccc01f5ed
tokenizer: improved the Tokenizer::simplifyIfNot
2009-07-18 10:18:46 +02:00
Daniel Marjamäki
b4c3ed78b4
astyle formatting
2009-07-18 09:11:02 +02:00
Slava Semushin
5dea30519c
Fixed ticket #459 (false positive::Member variable not initialized in constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/459
2009-07-17 23:50:49 +07:00
Daniel Marjamäki
7df3670128
doc: updated doxygen comments. three groups where created - 'GUI', 'Core' and 'Checks'
2009-07-17 10:49:01 +02:00
Daniel Marjamäki
968a6bdd2d
doc: changed the doxygen comments for the mainpage
2009-07-16 15:32:07 +02:00
Vesa Pikki
962757c257
Added support for checking files via commandline arguments.
2009-07-16 08:20:29 +03:00
Daniel Marjamäki
54f676177e
doxygen: added a todo to simplify 'for' loops better in the tokenizer
2009-07-14 15:30:23 +02:00
Kimmo Varis
40ccd4d1ac
Add QMake project files for core and tests.
...
Ticket #472 (QMake project file to build cppcheck core).
2009-07-14 14:36:05 +03:00
Daniel Marjamäki
456c20b705
fixed todo test case - detect iterator usage after push_front|push_back
2009-07-14 12:40:47 +02:00
Daniel Marjamäki
69b1df3bb8
tokenizer: simplify the '?:' operator
2009-07-14 12:06:38 +02:00
Daniel Marjamäki
4f2520bef3
doxygen: made the todos visible in the doxygen output
2009-07-14 08:17:12 +02:00
Daniel Marjamäki
17008879ac
minor refactoring: header cleanup. use forward declarations instead of includes
2009-07-13 19:11:31 +02:00
Daniel Marjamäki
18f9e05f5a
refactoring: Renamed checking classes
2009-07-13 16:00:15 +02:00
Kimmo Varis
2ee8be9f7f
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-07-13 16:52:06 +03:00
Kimmo Varis
6393498966
Astyle fixes.
2009-07-13 16:51:35 +03:00
Daniel Marjamäki
2a8fa6d19c
astyle formatting
2009-07-13 15:50:54 +02:00
Daniel Marjamäki
913789605f
refactoring: Refactoring of the leak-checking classes
2009-07-13 15:07:26 +02:00
Daniel Marjamäki
f7cb7da560
doxygen: updated a few comments
2009-07-13 13:35:33 +02:00
Kimmo Varis
7491200d71
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-07-13 11:40:40 +03:00
Kimmo Varis
d88cf4d3e4
Pave a way for Windows Unicode builds.
...
Use UNICODE preprocessor define instead of QT_CORE_LIB when determining whether to use Ansi or Unicode data and functions. This only applies to Windows.
2009-07-13 11:39:46 +03:00
Daniel Marjamäki
7d35447d80
refactoring: renamed the severity "all" to "possible error"
2009-07-13 10:16:31 +02:00
Daniel Marjamäki
11bc5195b8
cleanup: continued with the removing of the security. Some more work is needed but now everything compiles and runs at least.
2009-07-12 22:21:49 +02:00
Daniel Marjamäki
2961f29b57
doc: add link
2009-07-12 21:51:57 +02:00
Daniel Marjamäki
03f3ee62a0
cleanup: removed deprecated files. security checking and errmsg
2009-07-12 19:18:38 +02:00
Daniel Marjamäki
112ffd81fd
updated version to 1.34
2009-07-12 16:09:22 +02:00
Daniel Marjamäki
b86b07827a
unused private functions: don't check classes declared in header files unless it is known that their whole implementation is seen
2009-07-12 14:23:01 +02:00
Daniel Marjamäki
6a76243e9f
doxygen: wrote a simple text for the mainpage
2009-07-11 16:44:04 +02:00
Daniel Marjamäki
36896e1ca0
better description for the message with id strncatUsage
2009-07-11 12:16:38 +02:00
Daniel Marjamäki
59372199e3
Revert "cppcheck: Now it's possible to change the output format, for example to a visual studio compliant format"
...
This reverts commit 91a8dbd7b9
.
2009-07-10 22:38:26 +02:00
Daniel Marjamäki
bd68837866
refactoring: minor refactorings and added some doxygen comments
2009-07-08 17:14:34 +02:00
Daniel Marjamäki
91a8dbd7b9
cppcheck: Now it's possible to change the output format, for example to a visual studio compliant format
2009-07-08 14:38:13 +02:00
Daniel Marjamäki
89115bd417
doc: added more information when '--verbose' is used for these error messages:
...
* dangerous usage of erase
* overlapping data buffer
2009-07-08 12:57:36 +02:00