Daniel Marjamäki
0ca410a4d7
Fixed #6668 (False positive bufferAccessOutOfBounds on sprintf() - regression)
2015-06-07 14:01:20 +02:00
Alexander Mai
c18461b173
#6761 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix crash.
2015-06-07 13:35:51 +02:00
Daniel Marjamäki
75b0430ba5
Token::strValue: fixed handling of backslash
2015-06-07 11:25:33 +02:00
Alexander Mai
b6264e4a00
#6759 segmentation fault (invalid code) in Tokenizer::simplifyTokenList2. #6760 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix crashes
2015-06-06 13:11:32 +02:00
orbitcowboy
eed0c0df14
Merge pull request #610 from simartin/ticket_6665_test
...
Ticket #6665 (dupe of #6588 ): Added test case.
2015-06-06 03:28:51 +02:00
Simon Martin
0ebaa9b8c4
Ticket #6463 (dupe of #6680 ): Added test case.
2015-06-05 23:57:42 +02:00
Simon Martin
311db970c5
Ticket #6665 (dupe of #6588 ): Added test case.
2015-06-05 23:44:03 +02:00
Daniel Marjamäki
d208e763df
astyle formatting
2015-06-05 14:34:53 +02:00
Daniel Marjamäki
e36cc9f6d9
stringLiteralWrite: Updated error message
2015-06-05 14:34:13 +02:00
amai
5fd9dd04fa
#6757 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix crash
2015-06-04 19:00:35 +02:00
Alexander Mai
5f4902c613
6755 segmentation fault (invalid code) in Token::isAssignmentOp. #6756 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix two crashes.
2015-06-04 17:46:52 +02:00
amai2012
f2d397882f
#6753 segmentation fault (invalid code) in CheckMemoryLeakStructMember::checkStructVariable. #6754 segmentation fault (invalid code) in CheckUnusedVar::checkFunctionVariableUsage_iterateScopes. Trivial fixes to avoid null pointer access
2015-06-03 17:17:53 +02:00
amai2012
87bf09c0ae
#6751 segmentation fault (invalid code) in Tokenizer::simplifyTypedef.
2015-06-03 11:39:30 +02:00
amai2012
ed5a4127e8
#6749 segmentation fault (invalid code) in Tokenizer::copyTokens. #6750 segmentation fault (invalid code) in Tokenizer::simplifyTypedef.
2015-06-03 10:39:19 +02:00
amai2012
d36c84553f
#6748 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Throw error from now (member-function) Tokenizer::processFunc
2015-06-03 08:59:38 +02:00
Alexander Mai
d86ac9e3ed
#6747 segmentation fault (invalid code) in Token::isAttributeConstructor
2015-06-02 22:26:17 +02:00
Alexander Mai
09f2cff519
#6746 segmentation fault (invalid code) in Tokenizer::simplifyTypedef
2015-06-02 21:52:08 +02:00
Alexander Mai
6e1b5a0a53
#6744 segmentation fault (invalid code) in Tokenizer::simplifyPointerToStandardType. #6745 segmentation fault (invalid code) in Tokenizer::simplifyTypedef
2015-06-02 21:20:41 +02:00
Alexander Mai
454d4573b4
#6742 segmentation fault (invalid code) in SymbolDatabase::SymbolDatabase. Fix in Type::initBaseInfo()
2015-06-02 20:15:21 +02:00
Alexander Mai
f348c8eebe
#6741 segmentation fault (invalid code) in Tokenizer::simplifyTypedef.
2015-06-02 20:09:12 +02:00
Alexander Mai
7fc9930b38
#6740 segmentation fault (invalid code) in Tokenizer::simplifyFunctionPointers. Throw syntaxError instead
2015-06-02 19:48:20 +02:00
Alexander Mai
a3bdd90df5
#6739 segmentation fault (invalid code) in Tokenizer::simplifyTypedef. Fix segfault in the specified method
2015-06-02 19:40:20 +02:00
Alexander Mai
be3690920a
#6738 Avoid segfault on garbage code in Tokenizer::simplifyTypedef()
2015-06-02 19:07:26 +02:00
amai2012
7895f1c2bb
#6737 Avoid segfault on garbage code inside Type::initBaseInfo. Disable test TestGarbage::garbageCode58() for #6732 since it triggers memory corruption still
2015-06-02 18:28:43 +02:00
Martin Ettl
0a148a9433
Running astyle, no functional changes.
2015-06-01 22:09:56 +02:00
amai2012
4b2fb4b76c
#6735 , #6735 Fix segfault on garbage code
...
Throw syntax error instead
2015-06-01 21:47:06 +02:00
Daniel Marjamäki
4bde4d5a4a
updated style messages
2015-06-01 21:22:47 +02:00
orbitcowboy
ffcf45ab34
Running astyle, no functional changes.
2015-06-01 14:08:03 +02:00
Alexander Mai
fb2bd978ad
#6732 segmentation fault (invalid code) in Tokenizer::simplifyEmptyNamespaces. Add testcase, segfault seems to have been fixed by previous commit. Run astyle
2015-06-01 13:46:13 +02:00
amai2012
b81e82d462
#6733 segmentation fault (invalid code) in Tokenizer::simplifyAddBracesPair
...
Avoid access to NULL-token by throwing an InternalError
2015-06-01 13:27:32 +02:00
Frank Zingsheim
6857dbe864
#6729 Simplification reference to constants.
2015-06-01 10:00:03 +02:00
Simon Martin
519bd7007a
Ticket #6588 : Properly detect whether the condition in a ternary operator is constant on C input.
2015-05-31 22:40:13 +02:00
Simon Martin
85b47636dc
Simplify known variableswhen they are at the end of a statement.
2015-05-30 23:34:50 +02:00
Simon Martin
764df4dd56
Ticket #6588 : Added test cases since the initial issue is fixed by some past commit.
2015-05-30 22:57:54 +02:00
Simon Martin
98e6dca4f2
Ticket #6713 : Properly detect ternary operator in valueFlowForward.
2015-05-30 20:55:36 +02:00
Alexander Mai
ddc80246c2
#6724 segmentation fault (invalid code) Token::isAttributeConstructor. Local fix to avoid access to NULL-token
2015-05-30 19:15:53 +02:00
Alexander Mai
4050d56169
#6722 segmentation fault (invalid code) in Tokenizer::simplifyTypedef
2015-05-29 21:44:00 +02:00
Martin Ettl
d5d6d7fbb8
Running astyle, no functional changes.
2015-05-29 20:20:05 +02:00
amai2012
5b347c537b
Fix #6720 and #6721 (Crashes on garbage code)
...
Local fixes to avoid access to NULL-token
2015-05-29 19:30:55 +02:00
Martin Ettl
9236ea4a20
Running astyle, no functional changes.
2015-05-29 19:15:41 +02:00
amai2012
e41beb4f8d
Fix #6718 and #6719 (crashes on garbage code).
...
Local fixes avoiding access to NULL-token. Also minor correction to
TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates()
2015-05-29 18:34:00 +02:00
Alexander Mai
098391ee32
#6715 segmentation fault (invalid code) in TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates. Harden TemplateSimplifier::hasComplicatedSyntaxErrorsInTemplates()
2015-05-28 21:38:20 +02:00
Alexander Mai
8adff0a31b
#6712 segmentation fault (invalid code) in CheckExceptionSafety::checkRethrowCopy. Local fix to avoid accessing NULL-token
2015-05-28 21:12:02 +02:00
Alexander Mai
133d8f9a91
#6706 segmentation fault (invalid code) in tokenlist::compilePrecedence3. Local fix to prevent acess to NULL-token
2015-05-27 21:39:31 +02:00
Alexander Mai
e498f8493e
#6705 segmentation fault (invalid code) in CheckVaarg::va_list_usage. Local fix i nchecker preventing SIGSEGV on NULL-token
2015-05-27 21:12:33 +02:00
amai2012
0bd7cbfbeb
Merge pull request #603 from simartin/ticket_6708
...
Ticket #6708 : Check that a function name is not a reserved keyword in SymbolDatabase::isFunction instead of later.
2015-05-26 16:48:17 +02:00
amai2012
2bd49dcbde
Merge pull request #602 from simartin/templateParameters_tests
...
Added unit tests for TemplateSimplifier::templateParameters involving variadic templates
2015-05-26 07:10:10 +02:00
Simon Martin
50e5595845
Ticket #6708 : Check that a function name is not a reserved keyword in SymbolDatabase::isFunction instead of later.
2015-05-26 00:28:08 +02:00
amai2012
729b240d9c
Refactoring (compiler warnings and a typo)
2015-05-25 23:15:59 +02:00
Simon Martin
dc293ff483
Added unit tests for TemplateSimplifier::templateParameters involving variadic templates.
2015-05-25 23:13:01 +02:00
Daniel Marjamäki
a8d7897471
Fixed travis failure
2015-05-25 18:19:40 +02:00
Daniel Marjamäki
c0b33d2fef
Fixed #6707 (new check: possible truncation when assigning int result to long)
2015-05-25 10:02:17 +02:00
Alexander Mai
e28e9be82f
Add TODO testcase for #5738 . Refactoring: add some const
2015-05-25 08:20:14 +02:00
Daniel Marjamäki
eb0db322eb
Fixed #6560 (ValueFlow: handling ternary operator better in valueFlowSubFunction)
2015-05-24 17:02:00 +02:00
Martin Ettl
047d19220a
#6608 : Added a test case.
2015-05-24 10:03:50 +02:00
Simon Martin
26f244e638
Ticket #6704 : Tighten pattern skipping base class declarations and fix crash upon garbage code.
2015-05-24 08:16:34 +02:00
Simon Martin
898ba783bf
Ticket #6703 : Rewrite pattern in SymbolDatabase to avoid crash upon garbage code.
2015-05-23 23:18:59 +02:00
amai2012
1eba077c24
Merge pull request #597 from simartin/ticket_5760
...
Ticket #5760 : Added test case since the issue has been fixed with PR#596
2015-05-23 20:52:34 +02:00
Alexander Mai
7416d6add9
Another fix for handling of final/override specifiers in Tokenizer::simplifyKeyword() including a testcase. Ran astyle
2015-05-23 20:51:15 +02:00
Simon Martin
4ff2f8b3e2
Ticket #5760 : Added test case since the issue has been fixed with PR#596.
2015-05-23 20:29:44 +02:00
amai2012
01ce910a02
Merge pull request #595 from HeisSpiter/master
...
Handle HeapCreate()/HeapDestroy() API for Windows
2015-05-23 14:10:53 +02:00
amai2012
7c23f4e611
Merge pull request #596 from simartin/ticket_6620-6685
...
Ticket #6620 , #6685 : Reserved keywords cannot be function names.
2015-05-23 13:47:07 +02:00
Alexander Mai
e8d84bc6b4
#6700 const vs non-const inside assert() statement. Function matching in symboldatabase did not honor const'ness of a class instance variable
2015-05-23 11:56:11 +02:00
Simon Martin
67eab0cd7c
Ticket #6620 , #6685 : Reserved keywords cannot be function names.
2015-05-23 11:29:58 +02:00
Pierre Schweitzer
5a68e352df
Add various tests targeting Windows platform to show the current troubles cppcheck has to distinguish two different source of allocation used together.
2015-05-19 21:23:09 +02:00
Alexander Mai
f0bc300198
#6510 False positive performance warning for std::list::size(). Fix this and other similar false positives. Refactoring of Variable::isStlType(), use fail-safe std::set instead of plain array. Run astyle
2015-05-17 20:02:41 +02:00
amai2012
20842fb1fc
#6690 override and final qualifiers plus less than operator results in a syntax error
...
Tokenizer::simplifyKeyword() is now able to handle all combinations out
of const|final|override
2015-05-17 13:02:13 +02:00
PKEuS
b946b74e09
Fixed crash #6686
2015-05-13 13:02:33 +02:00
PKEuS
4f00189ee1
Fixed crash #6684
2015-05-12 14:00:43 +02:00
PKEuS
1b6e4589da
Implemented array size calculation for n-dimensional arrays with arbitrary dereferencing ( #6657 )
2015-05-11 17:30:11 +02:00
PKEuS
33277c6110
Fixed false positive #6679 , fixed unit test for #6663 .
2015-05-11 13:10:11 +02:00
PKEuS
d5302953c7
Merge pull request #594 from simartin/ticket_6680
...
Ticket #6680 : Members can be initialized by operator>>.
2015-05-10 22:53:26 +02:00
PKEuS
8bbf8f1b50
Merge pull request #593 from simartin/ticket_6675
...
Ticket #6675 : Fixed pattern detecting C++ 11 delegated constructors.
2015-05-10 22:50:49 +02:00
PKEuS
f8d8856d09
Merge pull request #592 from simartin/ticket_6666
...
Ticket #6666 : Don't crash upon garbage code in CheckLeakAutoVar::checkScope
2015-05-10 22:49:25 +02:00
Simon Martin
da302b3912
Ticket #6680 : Members can be initialized by operator>>.
2015-05-10 14:27:15 +02:00
PKEuS
77c5381612
Support C++14 [[deprecated]]
2015-05-10 12:36:28 +02:00
Alexander Mai
8fa7b13a18
#6659 heap user after free: kernel: sm750_accel.c. Add testcase.
2015-05-10 11:37:23 +02:00
Simon Martin
27e88fdc47
Ticket #6666 : Don't crash upon garbage code in CheckLeakAutoVar::checkScope.
2015-05-10 11:35:33 +02:00
Simon Martin
25aff001e0
Ticket #6675 : Fixed pattern detecting C++ 11 delegated constructors.
2015-05-10 11:27:47 +02:00
PKEuS
22fbc18fb7
Fixed false positive for *a++ in for-loop condition
...
Moved unit test to testgarbage.cpp
2015-05-07 20:34:57 +02:00
Alexander Mai
1c5e9e47c5
#6671 false positive: incorrect sizeofwithsilentarraypointer with reference to array.
2015-05-06 07:38:26 +02:00
Daniel Marjamäki
baa1ae079d
New check: negative size in array declaration. Ticket #1760
2015-05-03 15:00:47 +02:00
Daniel Marjamäki
e837bad01d
Fixed false positive in new stringLiteralWrite checker
2015-05-03 12:34:27 +02:00
Daniel Marjamäki
666377da1c
Updated error message for stringLiteralWrite
2015-05-03 10:48:28 +02:00
Daniel Marjamäki
9d31afb663
Fixed #1748 (Undefined Behavior: Modification of string literal)
2015-05-03 10:44:40 +02:00
Daniel Marjamäki
ca1f19b6d4
Fixed #6378 (valueFlowForward: decrement not handled)
2015-05-02 17:30:09 +02:00
Daniel Marjamäki
aab1d83075
Updated error message. write variable name.
2015-05-02 16:55:17 +02:00
PKEuS
4cbbd44d49
Fixed false positive #6663 : Better support for loops in CheckStl::readingEmptyStlContainer()
2015-05-02 14:09:48 +02:00
Daniel Marjamäki
dc54676289
Reverted my changes I made by mistake in previous commit
2015-05-02 14:01:31 +02:00
Daniel Marjamäki
28985d1baa
manual: Document the cwe attribute
2015-05-02 11:43:42 +02:00
Frank Zingsheim
9bea7bec92
Fixed #6659 (heap user after free: kernel: sm750_accel.c)
2015-05-01 18:28:00 +02:00
Frank Zingsheim
4ceed51bfb
Fixed #6607 (Crash triggered by TemplateSimplifier::useDefaultArgumentValues)
2015-05-01 17:13:02 +02:00
orbitcowboy
785df82513
#6660 : Fixed crash in Tokenize::SetVarid().
2015-04-29 09:18:54 +02:00
Daniel Marjamäki
88f59ad7e8
Partial fix for #6656 (Allow that CWE is mapped for error message)
2015-04-25 17:48:11 +02:00
Daniel Marjamäki
ad6db2ba81
Reverted 105de8e917
, new checker had FPs that need to be fixed.
2015-04-25 15:35:31 +02:00
Daniel Marjamäki
bdc024bd7c
Fixed 6634 (false positive: dereferencing null pointer in a sizeof operation)
2015-04-20 13:46:02 +02:00
PKEuS
ac867b4220
Handle pointers to const member functions in Tokenizer::simplifyFunctionPointers() ( #6603 )
2015-04-13 21:21:57 +02:00
PKEuS
c4ceb97cea
Fixed #6629 : Don't simplify sinf(0) if sinf is a variable
2015-04-13 20:37:07 +02:00
PKEuS
708a379fd2
Refactorized simplification of sizeof without parantheses:
...
- Moved sizeofAddParentheses() behind combineOperators()
- Improved sizeofAddParentheses() to handle all code from unit tests at simplifyTokenList1()
- Removed simplification from simplifyTokenList2()
2015-04-13 20:18:21 +02:00
PKEuS
4c40664861
Fixed #6639 : Calculate sizeof() of multidimensional arrays
2015-04-13 20:18:21 +02:00
PKEuS
19bba94282
Merge pull request #589 from simartin/restore_libcpp_build
...
Restore build with libc++ and revert PR#228 and PR#562.
2015-04-13 17:12:00 +02:00
PKEuS
b6709294a8
Fixed ...... in template instantiations (similar to constconst from #6604 )
2015-04-13 17:03:06 +02:00
Simon Martin
e5745d7d4a
Restore build with libc++ and revert PR#228 and PR#562.
2015-04-12 20:29:49 +02:00
PKEuS
c2ccd7d9e4
Simplify _declspec like __declspec
2015-04-11 11:02:52 +02:00
Robert Reif
4ceb24630d
Fixed #6568 : Scope for template class member function missing in symboldatabase
2015-04-09 21:01:47 +02:00
PKEuS
4e5c5eb238
Fixed #5665 : Recognize free() with more than one parameter
2015-04-09 20:50:19 +02:00
Frank Zingsheim
d52b031301
Fixed #6638 : (varid for loop in for statement)
2015-04-09 19:58:12 +02:00
Frank Zingsheim
648ee95f31
Fixed #6636 : (False positive unreadVariable - scope analysis seems to fail to False positive unreadVariable)
...
Bug was introduced by 1f5265c1bd
2015-04-08 20:30:41 +02:00
Daniel Marjamäki
d563bd73f4
Fixed #6583 (False positive uninitvar - exit() ignored?!)
2015-04-08 15:35:04 +02:00
Gustav Palmqvist
105de8e917
#220 uninitialized variable: using variable in ctor before it has been initialized. Implement new check usageBeforeInitialization
2015-04-07 22:01:13 +02:00
Frank Zingsheim
1f5265c1bd
Fixed #6253 ([False Positive] Variable not initialized in the constructor)
2015-04-06 19:47:21 +02:00
Alexander Mai
bacc5ac1cc
Fix false positives ignoredReturnValue about some posix interfaces. Remove redundant strsignal() output from signal handler
2015-04-06 18:16:37 +02:00
Alexander Mai
9876cf2312
#6626 crash: Token::astOperand2() const ( do while ). Fix two segmentation faults on invalid code.
2015-04-06 17:23:48 +02:00
Matthias Krüger
592177200a
don't print warning message if --enable=warning is not given.
...
message was of type:
(warning) Call of pure virtual function 'foo' in constructor.
2015-04-06 13:34:44 +02:00
Robert Reif
c02acea5bf
Fixed #6614 (false positive: (style) The class 'A' does not have a constructor.)
2015-04-04 11:33:25 +02:00
Matthias Krüger
77e22da7fe
testrunner: fix -Wshadow warning.
...
warning was:
test/testsimplifytemplate.cpp: In member function ‘int TestSimplifyTemplate::templateNamePositionHelper(const char*, unsigned int)’:
test/testsimplifytemplate.cpp:1170:22: warning: declaration of ‘tok’ shadows a member of 'this' [-Wshadow]
const Token *tok = tokenizer.tokens();
^
2015-04-04 01:15:56 +02:00
Daniel Marjamäki
aacd9b9f6b
Fixed #6586 (Tokenizer: '>>' is wrongly tokenized as '> >' - if (n1 < len>>1))
2015-04-03 20:25:49 +02:00
PKEuS
72b4809da0
Moved simplification of operator names before template and parentheses simplifications ( #6576 )
2015-04-01 13:47:36 +02:00
PKEuS
0d37c4df04
Fixed three unique crashs on garbage code ( #6613 ).
...
Removed redundant copy of string in templatesimplifier.cpp
2015-04-01 12:43:24 +02:00
PKEuS
04a3196a32
Merge pull request #576 from Dmitry-Me/anyParameterType
...
Constructor parameter type need not be a number
2015-04-01 11:29:44 +02:00
orbitcowboy
dde34bb88c
#6135 : Added test case to testgarbage in order to ensure that this issue does not appear again.
2015-03-30 15:33:24 +02:00
Dmitry-Me
712b101862
Test simplification of "delete a, b, c"
2015-03-27 17:49:35 +03:00
Dmitry-Me
e8f0abf259
Proper simplify delete a,b
2015-03-25 16:54:23 +03:00
Dmitry-Me
d735918a8a
Constructor parameter type need not be a number
2015-03-25 14:56:45 +03:00
Dmitry-Me
9a1b543c07
Tokenizer: Add testcase for 'delete a, a=0;'
2015-03-24 07:59:17 +01:00
PKEuS
19f770e41b
Fixed #6604 - don't create template instanciations with "const const const const..." patterns.
2015-03-22 11:20:47 +01:00
amai2012
a9b7299dc3
Merge pull request #566 from simartin/ticket_6587
...
Ticket #6587 : Do not consider template expressions in decltype as instantiations
2015-03-21 18:13:46 +01:00
Simon Martin
ec1eebf585
Ticket #6587 : Never consider a template parameter's default value as an instantiation.
2015-03-21 16:30:00 +01:00
Alexander Mai
42d9afe7de
posix.cfg add more interfaces from stdlib.h. run astyle
2015-03-21 12:26:07 +01:00
Dmitry-Me
818346622c
More tests for checking negative pointers
2015-03-19 16:46:00 +03:00
Jakub Melka
a49efb13f6
Added auto_ptr checking for malloc
2015-03-19 06:41:54 +01:00
Alexander Mai
cb6ed95ed3
posix.cfg: add more interfaces. Remove include from test which is missing on travis
2015-03-15 13:28:16 +01:00
Alexander Mai
3a690fd18e
posix.cfg: fix false positive and add more interfaces
2015-03-15 12:56:24 +01:00
PKEuS
42673255ed
Refactorized testrunner: Create std::string only where necessary
2015-03-15 12:36:40 +01:00
PKEuS
0d127f15a5
Fixed grammar mistake; fixed two VS2013 code analysis messages; removed redundant Token::Match call
2015-03-15 10:06:56 +01:00
Daniel Marjamäki
a200e5b32f
Merge pull request #551 from simartin/ticket_4335
...
Ticket #4335 : Properly detect and handle template class specialisations
2015-03-15 07:59:11 +01:00
Simon Martin
520314f9a0
Ticket #4335 : Properly detect and handle template class specializations.
2015-03-15 00:28:33 +01:00
Alexander Mai
5b8d93efda
posix.cfg: Fix false positives and add poll()
2015-03-14 23:31:56 +01:00
amai2012
40769c9a59
Merge pull request #549 from simartin/ticket_6437
...
Ticket #6347 : Fix use after delete when simplifying template instantiations
2015-03-14 22:30:58 +01:00
PKEuS
4ec2df92b7
Refactorized testsimplifytypedef.cpp, fixed broken unit test simplifyTypedef99
2015-03-14 20:43:15 +01:00
Daniel Marjamäki
0efa113b6e
fixed test/cfg/posix.c code
2015-03-14 19:40:13 +01:00
Daniel Marjamäki
fd6bd97972
Fixed #6495 (Improve check: uninitialized variable, 3rd function argument)
2015-03-14 19:23:33 +01:00
Simon Martin
4c916641cc
Ticket #6347 : Fix use after delete when simplifying template instantiations.
2015-03-14 18:46:17 +01:00
Daniel Marjamäki
42c4aa1c49
Fixed #4880 (false negative: uninitialized variable, handling of conditional noreturn scopes)
2015-03-14 17:59:11 +01:00
Alexander Mai
d52e3c8eb7
Fix missing suppression in test/cfg/posix.c
2015-03-13 18:29:46 +01:00
PKEuS
6e0302fd56
Refactorized CheckBool::checkComparisonOfBoolWithInt(), CheckBool::checkComparisonOfBoolExpressionWithInt() and CheckBool::pointerArithBool():
...
- Support more patterns in CheckBool::pointerArithBool()
- Use AST and SymbolDatabase
- Removed redundant skipping over template arguments
2015-03-12 20:07:48 +01:00
PKEuS
7f2b6881b3
Refactorization: Avoid including path.h in (almost) every source file (via library.h)
2015-03-11 22:54:45 +01:00
PKEuS
bc5132e0ac
Refactorization: Moved declaration of errout, ... to testsuite.h, uniformized style
2015-03-11 22:54:43 +01:00
PKEuS
cd84d78e92
Ran AStyle, fixed VS2015 warning in symboldatabase.h
2015-03-11 20:26:53 +01:00
PKEuS
9bafa3bf25
Fixed false positive #6575
2015-03-11 20:25:27 +01:00
Alexander Mai
c8bee3e1a6
Merge branch 'master' of https://github.com/danmar/cppcheck
2015-03-11 18:59:56 +01:00
Alexander Mai
6bd7dd771d
Add some functions from <time.h> to posix.cfg (see #6577 )
2015-03-11 18:59:34 +01:00
amai2012
ed097d4c4f
Merge pull request #540 from JakubMelka/ticket_695
...
Ticket #695 : new style check : explicit declaration of ctor
2015-03-11 12:15:22 +01:00
Jakub Melka
e1e1dbfe97
Ticket #695 : Fixed VS 2010 issue, switched to "style" severity, changed error messages and updated unit tests
2015-03-10 19:35:12 +01:00
Martin Ettl
0839ce5a96
posix.cfg: Removed duplicate utime() function introduced by 841a27c19d
. Added more test cases for uninitvar for utime() and utimes().
2015-03-08 21:38:43 +01:00
amai2012
3d9c2b4d97
Merge pull request #542 from MegaManSec/master
...
Add utime function to posix.cfg
2015-03-08 19:55:41 +01:00
Jakub Melka
b7d92a4fc7
Fixed warnings of CppCheck's own code (caused by new check #695 )
2015-03-08 18:18:09 +01:00
Daniel Marjamäki
780a530e0e
test/cfg/windows.cpp: Added test for #6571 , Library::isNotLibraryFunction() should return true for methods.
2015-03-08 16:23:54 +01:00
Alexander Mai
34a61e0883
Additions to windows.cfg. Fix compiler warning in test/cfg/posix.c
2015-03-08 15:21:50 +01:00
Joshua Rogers
841a27c19d
Add utime function to posix.cfg
2015-03-09 00:43:25 +11:00
Alexander Mai
95411414c4
#6569 Add strcasestr function to gnu.cfg
2015-03-08 14:04:09 +01:00
Simon Martin
1d973b882d
Ticket #6567 : Handle member functions in TemplateSimplifier::getTemplateNamePosition.
2015-03-07 21:52:12 +01:00
Jakub Melka
2af9212b16
Ticket #695 : new style check : explicit declaration of ctor
2015-03-07 20:07:54 +01:00
Simon Martin
9c6a625f91
Ticket #6181 : Normalize '>>' into '> >' when it's closing a C++11 template parameter list.
2015-03-07 11:06:04 +01:00
Daniel Marjamäki
f705cdce72
Fixed #6556 (Tokenizer::simplifyVarDecl: doesn't simplify template variables properly)
2015-03-06 17:30:20 +01:00
Alexander Mai
21ab4413aa
Fix compiler warnings
2015-03-05 20:49:42 +01:00
Alexander Mai
cbc8c4f57d
Fix unsuppressed warning in checkcfg target
2015-03-05 06:57:30 +01:00
Alexander Mai
b5f0eec44a
#6559 Regression/ false positive: Return value of allocation function OpenFile is not stored. Add required definitions to windows.cfg, include afx_msg. Add test file test/cfg/windows.cpp to check windows configuration. Fix for gnu.cfg. FileLister now features a non-recursive mode.
2015-03-05 06:48:44 +01:00
Daniel Marjamäki
6646a896f9
Fixed #6446 (FP zerodivcond on double arithmetics)
2015-03-03 15:50:31 +01:00
Daniel Marjamäki
925f077b8a
Fixed #6110 (TemplateSimplifier::simplifyCalculations: wrong simplification of 'if (VG_(strlen)(s)>=3)')
2015-03-02 16:27:00 +01:00
Daniel Marjamäki
86cdc8e7a6
Fixed #6540 (Tokenizer::simplifyKnownVariables: Missing varid for simplification in conditional code)
2015-03-02 06:18:00 +01:00
Alexander Mai
49099e78ff
Add more string conversion functions to library files
2015-03-01 20:18:26 +01:00
Daniel Marjamäki
830f656a25
Library: variables are not library functions (variable declarations can look like function calls)
2015-03-01 11:46:43 +01:00
Daniel Marjamäki
449b88aa0c
Fixed #6547 (Regression - unknown macro causes analysis error)
2015-02-28 11:09:39 +01:00
Daniel Marjamäki
3add466035
Add isFunctionHead() in Tokenizer
2015-02-27 18:29:34 +01:00
Daniel Marjamäki
acbf48c7fa
Fixed #6548 (Tokenizer: Wrong varid set after function which is throw())
2015-02-26 16:31:42 +01:00
Alexander Mai
cea71f8625
Fix false positive ignoredReturnValue about strtol
2015-02-25 22:03:10 +01:00
Daniel Marjamäki
d1892786b8
ValueFlow: Improved when using '[' on arrays and strings
2015-02-24 15:57:39 +01:00
Alexander Mai
8427398d9d
#6539 Segmentation fault in Tokenizer::duplicateTypedef. Avoid crash on garbage code
2015-02-24 11:15:23 +01:00
Robert Reif
130ffc5752
Fixed #6538 (Symboldatabase: improve isFunction)
2015-02-24 06:11:31 +01:00
Alexander Mai
b9cc5b5c6b
#6543 crash: CheckCondition::checkBadBitmaskCheck ; wine dlls/gdi32/dibdrv/primitives.c. Run astyle.
2015-02-23 22:06:55 +01:00
Daniel Marjamäki
fb5cc6fded
Fixed #5905 (isSameExpression: comparisons 'a<b' and 'a>b' are same)
2015-02-23 16:38:55 +01:00
Daniel Marjamäki
830d1eb3fd
Revert "Fixed #6538 (Symboldatabase: improve isFunction)"
...
This reverts commit d7ef89bbe6
.
There was crashes in a Travis job.
2015-02-23 08:07:19 +01:00
Robert Reif
d7ef89bbe6
Fixed #6538 (Symboldatabase: improve isFunction)
2015-02-23 06:49:50 +01:00
Alexander Mai
fd7d29447d
std.cfg: snprintf(NULL,0,) is legal. Fix some testcases in test/cfg as well
2015-02-22 14:25:25 +01:00
Daniel Marjamäki
d4fa656e58
Refactor and improve Tokenizer::sizeofAddParentheses
2015-02-22 13:38:06 +01:00
PKEuS
bedc935ab0
New check: Warn about constant expression if ( unknown | non_null_constant) ( #6519 )
2015-02-22 13:09:39 +01:00
PKEuS
5f31242ee8
CheckOther::checkRedundantAssignment(): Bail out on inline assembly ( #6525 )
2015-02-22 12:03:53 +01:00
PKEuS
f04070940e
Fixed setVarId on ternary operator in initialization list
2015-02-22 11:57:46 +01:00
Alexander Mai
6bfeb71dd2
Add more interfaces to gnu and posix libraries
2015-02-21 11:08:58 +01:00
Alexander Mai
6d9eb6199d
posix.cfg: add support for sched.h and 1 bugfix
2015-02-20 20:50:20 +01:00
PKEuS
6227abac73
Fixed GCC (testsymboldatabase.cpp) and MSVC (checkother.cpp) warnings
2015-02-18 21:19:36 +01:00
Daniel Marjamäki
e251a99817
AST: fix handling of sizeof. ticket #6515
2015-02-18 19:56:13 +01:00
Daniel Marjamäki
fd4d4bba33
test/cfg/posix.c: fix tests
2015-02-17 19:58:07 +01:00
Daniel Marjamäki
6363c1359d
TestUninitVar: moved out posix.cfg testing
2015-02-17 18:16:29 +01:00
Daniel Marjamäki
d900148e6b
TestUninitVar: Fix compile error
2015-02-17 18:09:23 +01:00
Daniel Marjamäki
e5c098c7de
TestUninitVar: move out posix.cfg testing
2015-02-17 18:08:19 +01:00
Daniel Marjamäki
e9663873e5
TestOther: refactoring library testing
2015-02-17 15:52:45 +01:00
Alexander Mai
0a6babea74
#6181 Drop redundantGetAndSetUserId. Ensure (style-) warnings are issued if setuid()/getuid() and some related functions are ignored. Move strdupa()/strndupa() from posix.cfg to gnu.cfg
2015-02-16 22:19:51 +01:00
Alexander Mai
115cefc8fb
#6181 Drop redundantGetAndSetUserId. Ensure (style-) warnings are issued if setuid()/getuid() and some related functions are ignored. Move strdupa()/strndupa() from posix.cfg to gnu.cfg
2015-02-16 22:06:08 +01:00
Daniel Marjamäki
42b40b0c85
Merge pull request #525 from Dmitry-Me/moreDoubleSlashCases
...
Handles double slashes close to end of path, more tests
2015-02-16 18:02:51 +01:00
Daniel Marjamäki
d83f07dddd
TestOther: moved posix.cfg testing
2015-02-16 16:25:27 +01:00
Dmitry-Me
f0e0201c2d
Better handle double slashes, more tests
2015-02-16 13:11:13 +03:00
Dmitry-Me
764e7ff79b
Deduplicate a multislash test
2015-02-16 10:19:08 +03:00
Daniel Marjamäki
fe8ba51f03
TestMemLeak: moved posix.cfg tests
2015-02-15 18:11:09 +01:00
Daniel Marjamäki
adedb5a888
TestMemLeakInFunction: Moved test to cfg test
2015-02-15 15:56:05 +01:00
Daniel Marjamäki
cc0f61376a
more cleanup of std.cfg testing in TestBufferOverrun
2015-02-14 18:55:54 +01:00
Daniel Marjamäki
e510902d58
TestBufferOverrun cleanup some more std.cfg testing
2015-02-14 17:30:08 +01:00
Daniel Marjamäki
86cf372309
Merge pull request #522 from simartin/revert_6181_add_6354_6414
...
Revert fix for #6181 , that caused #6354 and #6414 .
2015-02-14 16:59:27 +01:00
Daniel Marjamäki
360ec9d853
updated TestBufferOverrun test case. Since checker doesn't use library dont load std.cfg.
2015-02-14 16:44:08 +01:00
Daniel Marjamäki
0c0d62171e
removed duplicate testcase. See testcase for #836
2015-02-14 16:41:51 +01:00
Daniel Marjamäki
a57d5d7eda
moved testcases
2015-02-14 16:37:48 +01:00
Daniel Marjamäki
e01b30345e
move testcases in TestBufferOverrun
2015-02-14 16:29:05 +01:00
Daniel Marjamäki
166db40af2
Fix TestBufferOverrun test case, it was wrongly written.
2015-02-14 15:51:13 +01:00
Daniel Marjamäki
c43d537726
renamed TestBufferOverrun test method to same name as CheckBufferOverrun method that is tested
2015-02-14 15:49:17 +01:00
Daniel Marjamäki
2b7c7134e1
TestBufferOverrun: move memset test
2015-02-14 15:46:00 +01:00
Simon Martin
c4c46be972
Revert fix for #6181 , that caused #6354 and #6414 .
2015-02-14 12:29:05 +01:00
Luis Díaz Más
22424ba54a
Add CMake files
2015-02-13 19:00:14 +01:00
Dmitry-Me
7961bba0da
Path: better handling of UNC paths
2015-02-13 16:32:45 +01:00
Daniel Marjamäki
e0d90c00be
TestBufferOverrun: Cleanup testcases for memory functions
2015-02-13 16:16:59 +01:00
Daniel Marjamäki
2d21eb07ba
Cleaned up snprintf hardcoding in CheckBufferOverrun
2015-02-13 06:44:38 +01:00
Daniel Marjamäki
a6cfd15bde
refactoring TestBufferOverrun
2015-02-12 17:36:22 +01:00
Daniel Marjamäki
9aad4fa8ca
CheckBufferOverrun: Remove hardcoding for sprintf and rely on cfg configuration instead
2015-02-12 17:29:36 +01:00
Daniel Marjamäki
b43c2de63a
refactor cfg testing in TestClass
2015-02-11 06:29:33 +01:00
Daniel Marjamäki
d9deabe2ce
TestBufferOverrun: clean up
2015-02-10 17:29:36 +01:00
Daniel Marjamäki
53718047f1
refactoring TestBufferOverrun
2015-02-10 06:49:48 +01:00
Daniel Marjamäki
9aa0420472
TestBufferOverrun: Moved out cfg tests. Created minsize-mul testing in TestBufferOverrun
2015-02-10 06:44:19 +01:00
Daniel Marjamäki
ce1d0099cf
TestBufferOverrun: Moved out cfg tests. Created minsize-argvalue testing in TestBufferOverrun
2015-02-10 06:35:41 +01:00
Daniel Marjamäki
631536980c
TestBufferOverrun: split up strncpy testing, keep checker testing in TestBufferOverrun and move cfg tests to cfg test
2015-02-09 16:20:28 +01:00
Daniel Marjamäki
8a1b8df1ba
ValueFlow: Improved handling of alias values in valueFlowForward
2015-02-08 19:20:05 +01:00
Daniel Marjamäki
62a5d88eb0
ValueFlow: Improved handling of strings
2015-02-07 18:14:22 +01:00
Daniel Marjamäki
29db3eb848
Fixed #5980 (ValueFlow: pointer cant be 0 below throw in switch)
2015-02-07 10:45:30 +01:00
Daniel Marjamäki
eec938dbad
Fixed #6249 (False positive: Incorrect detection of (assignment + comparison) inside for-clause)
2015-02-05 20:17:30 +01:00
PKEuS
f1714110d0
Fixed crash if double constants are passed as default arguments ( #6494 )
2015-02-03 22:12:05 +01:00
Daniel Marjamäki
c2b85d1032
Fixed testrunner
2015-02-03 18:35:52 +01:00
orbitcowboy
84e831c21c
posix.cfg: Improved support for functions from <unistd.h>.
2015-02-02 17:23:43 +01:00
Dmitry-Me
21fbc30d59
Calling a function using Class::func() syntax should not be simplified
2015-02-02 10:37:10 +03:00
PKEuS
451a277b18
Refactorization: Support function default values in ValueFlow, removed now obsolete CheckNullPointer::nullPointerDefaultArgument().
...
-> Use valueFlowForward() to parse values passed to functions
-> valueFlowForward(): Set value in first occurrence of a variable in a condition
2015-02-01 15:15:00 +01:00
Daniel Marjamäki
78b711fd7b
astyle formatting
2015-02-01 14:50:51 +01:00
PKEuS
f78744ac30
Fixed AST generation if expression starts with ternary operator
2015-02-01 14:02:19 +01:00
Daniel Marjamäki
d6c94e3828
isOppositeCond: Fixed FN
2015-02-01 13:03:38 +01:00
Daniel Marjamäki
d091639080
Fixed #6482 (False positive multiCondition)
2015-02-01 12:58:06 +01:00
PKEuS
58c3fdd063
Fixed crash on garbage code introduced recently, optimized code in valueFlowFunctionReturn.
2015-02-01 12:26:46 +01:00
PKEuS
54b6b8e571
Fixed false positive #6481
2015-01-31 20:34:06 +01:00
PKEuS
21cb0cfd60
Take simplifyIfNotNull and simplifyIfNot out of simplifyTokenList1 (first step for #6072 )
2015-01-31 20:12:02 +01:00
PKEuS
1f97e3001b
Fixed calculation of array size ( #6487 )
2015-01-31 19:06:44 +01:00
PKEuS
ae4b86c231
Several improvements to CheckMemoryLeakNoVar::checkForUnusedReturnValue():
...
- Support user defined functions (solves TODO tests)
- Print message if return value is not stored properly (adapted message text, #6458 )
2015-01-31 17:28:03 +01:00
Daniel Marjamäki
73113c67e7
Fixed #6480 (False positive unreachableCode - member function exit called instead of ::exit())
2015-01-31 16:55:55 +01:00
PKEuS
789665dadf
Fixed #6455 : Show uninitvar even for const variables
2015-01-31 13:21:22 +01:00
PKEuS
27924d4ae2
Improved detection of array dimensions ( #6430 )
2015-01-31 13:12:06 +01:00
PKEuS
f771a79738
Removed obsolete internal check. The underlying but in Token::Match should be fixed since b4f0869a71
2015-01-31 12:56:54 +01:00
PKEuS
b2835051df
Refactorization: Renamed Token::Match pattern %var% to %name%, implement new pattern %var% which is true if varId > 0.
2015-01-31 12:32:04 +01:00
PKEuS
33f5d27b53
Fixed varId0 message #6443 .
2015-01-31 10:33:32 +01:00
Daniel Marjamäki
57ec1aea91
Library: Don't rely on ast in isNotLibraryFunction since it's used in tokenizer
2015-01-31 10:24:10 +01:00
PKEuS
36841cfa41
Better support for stream operator in CheckAutoVariables::returnReference() ( #6423 )
2015-01-31 10:12:49 +01:00
PKEuS
dcc1362890
SymbolDatabase: Support std::array ( fixes #6401 )
2015-01-30 21:56:27 +01:00
PKEuS
03e44d4aa0
CheckMemoryLeakInFunction: Don't treat delete as delete operator for C code
...
Fixed GCC message in checkbufferoverrun.cpp
2015-01-30 20:55:53 +01:00
PKEuS
98e33a189f
Enhanced CheckBufferOverrun:
...
- Fixed bug in library: manual and existing libraries use "size", but library.cpp reads "sizeof" as podtype attribute
- Fixed a couple of bugs in handling unknown size in checkbufferoverrun.cpp, get size from library if available.
2015-01-30 20:27:48 +01:00
PKEuS
b69528eb80
Bailout in Token::getValueTokenDeadPointer() if reference is used ( #6399 )
2015-01-30 19:29:37 +01:00
PKEuS
0d151b45b5
Better support for funciton pointers in checkuninitvar.cpp ( #6404 )
2015-01-30 19:16:25 +01:00
Daniel Marjamäki
6b20172a36
Moved cfg tests from TestUninitVar
2015-01-30 16:35:17 +01:00
Daniel Marjamäki
355a2d38b3
added missing test/cfg/posix.c file
2015-01-30 07:52:32 +01:00
Daniel Marjamäki
8d2f271921
clean up cfg tests in TestNullPointer
2015-01-30 06:51:03 +01:00
Daniel Marjamäki
9bbad1b622
TestNullPointer: Moved posix.cfg tests
2015-01-30 06:43:40 +01:00
PKEuS
80feb8697d
Fixed false positives #6473 and #6469
2015-01-29 21:26:06 +01:00
PKEuS
71379616e7
Fixed false positive #6467
2015-01-29 10:18:21 +01:00
PKEuS
9ada111045
Fixed false positive #6466
2015-01-29 09:50:48 +01:00
Daniel Marjamäki
250a082e46
Fix travis
2015-01-29 06:23:41 +01:00
Daniel Marjamäki
0949baac9b
TestNullPointer: moved out std.cfg checking
2015-01-29 06:07:48 +01:00
PKEuS
3342ea4c54
CheckInternal: Complain about Token::Match pattern if %or% or %oror% is the only "complex" pattern
2015-01-28 19:48:36 +01:00
PKEuS
0488f45a5f
Removed standalone check CheckOther::checkDoubleFree(), integrated (most of) the functionality into CheckLeakAutoVar. Added support for new/delete to checkLeakAutoVar.
2015-01-28 17:38:43 +01:00
Daniel Marjamäki
70a38b1da6
TestNullPointer: Moved some std.cfg tests to the cfg testing
2015-01-28 16:22:45 +01:00
PKEuS
5c56e63996
Fixed false positive #6452 : Handle member functions in CheckIO::checkFileUsage()
2015-01-27 21:52:52 +01:00
PKEuS
e82d2b3c8d
Fixed false positive #6453 : Skip over inner class if checking outer function
2015-01-27 21:21:17 +01:00
Matthias Krüger
e56671101e
tests: add a script which runs test/cfg tests.
...
add new make target (checkcfg) which builds cppcheck and executes the script
make travis run checkcfg
2015-01-27 19:46:52 +01:00
Daniel Marjamäki
01601b58dd
test: move cfg/test to test/cfg
2015-01-27 18:23:28 +01:00
Daniel Marjamäki
3285f85ebf
Fixed #6460 (Library: better function/type matching)
2015-01-27 17:55:18 +01:00
PKEuS
bfa16ec258
Set /LARGEADDRESSAWARE flag for Win32 builds
...
Idea from Kosta-Github (pull-request #501 )
2015-01-27 15:43:40 +01:00
orbitcowboy
180d7389a0
Fixed #6457 : Added missing podtype defintions to posix.cfg.
2015-01-26 08:35:22 +01:00
Daniel Marjamäki
d8af472393
Merge pull request #500 from Dmitry-Me/resolve1265723
...
Resolve CID 1265723
2015-01-24 11:24:57 +01:00
Dmitry-Me
c79bfdce2c
CheckClass: Better checking of what operator= returns
2015-01-24 11:18:33 +01:00
Martin Ettl
0ef43c05dc
Removed accidently added ';' [ci skip]
2015-01-23 17:31:21 +01:00
Martin Ettl
ac551807b6
posix.cfg: Added support for blkcnt_t datatype.
2015-01-23 17:29:18 +01:00
PKEuS
ee046af20c
Fixed false positives #6450 and #6451
2015-01-23 19:38:39 +01:00
Dmitry-Me
6c248dd1ac
Resolve CID 1265723
2015-01-23 17:53:39 +03:00
PKEuS
da35a74589
Fixed false negative: Passing uninitialized variable to stream ( #4673 )
2015-01-22 22:56:41 +01:00
PKEuS
da5a04f071
Fixed recently introduced FP in checkuninitvar.cpp if address of variable is passed to a function
2015-01-22 21:22:02 +01:00
PKEuS
f4d11a4209
Fixed false negatives on try and non-executable scopes in checkUninitVar, removed unnecessary function parameters
2015-01-22 13:55:19 +01:00
PKEuS
bdae9064ea
Support throw in checkleakautovar.cpp
2015-01-22 11:12:26 +01:00
orbitcowboy
a7ded1e19f
Merge branch 'master' of https://github.com/danmar/cppcheck
2015-01-22 06:53:23 +01:00
PKEuS
7364cc8040
Fixed false positive in fityk: operator new calling constructor
2015-01-22 10:37:31 +01:00
orbitcowboy
2cfb286558
Added test case for #5412 .
2015-01-22 06:53:11 +01:00
orbitcowboy
dd241501f3
Added test case for #6341 .
2015-01-22 06:37:09 +01:00
PKEuS
c3e47f7eaa
Fixed false positive in CheckUninitVar and internal message
2015-01-21 22:26:44 +01:00
PKEuS
94c3c45350
CheckUninitVar: Use function information from library, bailout for '?'
2015-01-21 22:02:25 +01:00
PKEuS
ecb9d87e42
Fixed false positive: Bailout in checkuninitvar.cpp if setjmp is found
2015-01-21 16:49:34 +01:00
PKEuS
8f1e44f1b7
Stricter false positive testing: Perform old and new check on uninitialized variables false positives tests (with a few exceptions for FP in old checker that don't exist in the new one)
2015-01-21 16:45:15 +01:00
PKEuS
81dc96f373
Refactorization: Rearranged code in testuninitvar.cpp, avoid copying of settings
2015-01-21 16:26:27 +01:00
PKEuS
5334aaa25f
Refactorization:
...
- Removed a few unit tests of old uninitialized variable checking expecting other results than same test for new checking
- A few tweaks to new uninitvar checking to improve results when run on tests for old check
- switched some (TODO) tests to new check if the TODO is fixed
2015-01-21 16:17:58 +01:00
PKEuS
346532d312
Fixed false positives in CheckUninitVar::checkStruct()
2015-01-21 13:11:48 +01:00