Alexander Mai
86c9387987
#7182 crash: CheckMemoryLeak::functionReturnType()
2015-12-05 18:43:29 +01:00
Alexander Mai
e69377d5a8
#7183 CheckClass::checkMemset() uint overflow. Plus some minor refactoring
2015-12-05 18:22:01 +01:00
PKEuS
e8522c7883
Small refactorizations:
...
- #include cleanup
- Use std::array instead of std::vector
- Do not create a stringstream to concatenate 4 strings
- Use std::cout instead of printf
2015-11-29 10:56:44 +01:00
PKEuS
3b4160600d
Fixed crash in CheckMemoryLeak::functionReturnType() for unary operator:: ( #7172 )
2015-11-27 11:18:40 +01:00
PKEuS
0ba3d25917
CheckMemoryLeak: Correctly detect new char[...]() as array allocation ( #7164 )
2015-11-27 11:04:18 +01:00
PKEuS
2e7c5d37df
Refactorizations in checkmemoryleak.cpp:
...
- Rely more on <alloc> declarations in Libraries
- Removed unreachable debug message
- Simplified code
2015-11-19 17:34:17 +01:00
PKEuS
0d25a43a5d
checkmemoryleak.cpp: Refactorized CheckMemoryLeakNoVar::check() and replaced a redundant whitelist by CheckMemoryLeakInFunction::test_white_list()
2015-11-19 17:34:17 +01:00
Matthias Krüger
8faf8e2b25
fix internal warning:
...
[lib/checkmemoryleak.cpp:2722]: (warning) Found simple pattern inside Token::Match() call: "> ("
2015-11-19 17:03:55 +01:00
PKEuS
ab171fc027
Fixed false negatives in CheckMemoryLeakStructMember::checkStructVariable():
...
- Use generic detection of allocation/deallocation (#4770 )
- Make the checker usable for C++ by checking for destructors
- Reduced unit test duplication
2015-11-19 16:10:26 +01:00
PKEuS
db6174bb60
Refactorization: Support Types that consist of more than a single token in CheckMemoryLeakNoVar::checkForUnsafeArgAlloc
...
Removed obsolete comments
2015-11-19 16:10:26 +01:00
PKEuS
87d3ed91ab
Refactorization:
...
- Improved and cleaned up CheckMemoryLeak::functionReturnType()
- Cleaned up whitelist from functions declared as <leak-ignore/> in std.cfg
2015-11-18 22:09:27 +01:00
PKEuS
1566b72c5b
Fixed broken AST for simple expressions with delete operator.
...
Fixed cppcheck internal warning
2015-11-18 21:37:37 +01:00
PKEuS
4957e48d7c
Refactorization: Removed std::string overload of CheckMemoryLeak::getDeallocationType(), improved varid overload to handle member variables
2015-11-18 21:17:50 +01:00
PKEuS
6ee4cf80dc
Improved detection of new operator in checkmemoryleak.cpp, fixed TODO unit test
2015-11-18 20:33:39 +01:00
Daniel Marjamäki
0f9d90d2be
Changed Copyrights. Removed my name.
2015-11-18 20:04:50 +01:00
PKEuS
6336372fb4
Apply same heuristics in CheckMemoryLeakNoVar::checkForUnusedReturnValue() as in CheckOther::checkIgnoredReturnValue(): Ensure that a defined function has non-void return value. ( #6693 )
2015-11-10 14:19:45 +01:00
Philipp Kloke
2a5206a444
Refactorization: Reordered conditions - simplematch is cheaper than findsimplematch
2015-10-19 09:01:21 +02:00
Dmitry-Me
773ee8c32a
Better variable name, explicit no-op
2015-09-11 17:26:33 +03:00
PKEuS
ab8afec3eb
Refactorizations:
...
- Avoid unnecessary loop iterations
- Avoid unnecessary condition checking
- Reduced code duplication in symboldatabase.cpp
2015-08-16 14:23:07 +02:00
PKEuS
ee4a5843bb
Some small refactorizations
2015-08-15 19:46:31 +02:00
Daniel Marjamäki
e598b07a6d
Moved functions to astutils
2015-08-03 09:20:50 +02:00
Matthias Krüger
8bfbb5d09c
CheckMemoryLeakNoVar::returnValueNotUsedError: put function name into singlequotes
2015-07-31 15:29:07 +02:00
Daniel Marjamäki
4e293d47c5
CheckMemoryLeak: Fix handling of comparisons after simplifyIfNotNull is removed, detected problem with run_more_tests
2015-07-26 11:27:52 +02:00
Daniel Marjamäki
e5151a13ab
Fixed #6867 (False positive memleak)
2015-07-25 11:37:03 +02:00
Daniel Marjamäki
234669b02b
Removed the UninitVar::analyseFunctions(). This was written for multifile checking however it did not work as it should => no multifile errors can be detected.
2015-07-24 08:30:38 +02:00
Daniel Marjamäki
b38062743d
Refactoring handling of if conditions in CheckMemoryLeak
2015-07-22 16:45:14 +02:00
Daniel Marjamäki
b2b4bb49fa
Refactoring handling of comparisons
2015-07-22 12:31:18 +02:00
Daniel Marjamäki
f9d22f70db
Removed simplifyIfNot simplification ( #6072 )
2015-07-21 20:56:47 +02:00
Daniel Marjamäki
24269b1061
Refactoring CheckMemoryLeak::notvar, use AST instead of token parsing
2015-07-21 20:27:59 +02:00
Alexander Mai
2c73518e29
Fix platform-dependent test result, formatting and crash in whole program analysis
2015-06-28 17:54:48 +02:00
amai2012
4a47b8b3ae
Refactoring: Better distinguish between C and C++ in a few checks.
2015-06-28 16:49:16 +02:00
Alexander Mai
4172011e78
Missing update for Makefile. CheckMemoryLeakInFunction::getcode(): skip some C++ token matching in C mode. Minor refactoring
2015-06-20 22:49:28 +02:00
Alexander Mai
b3c7a3f798
Fix more (potential) multi-threading issues
2015-06-20 22:26:51 +02:00
Simon Martin
cba0583045
Ticket #6536 : Properly handle variables whose name is that of an allocation function.
2015-06-19 23:48:40 +02:00
Alexander Mai
13c1c2c035
Refactoring (use const std::set for strings). Omit some matching for C++ stuff within C code.
2015-06-17 22:28:15 +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
Daniel Marjamäki
88f59ad7e8
Partial fix for #6656 (Allow that CWE is mapped for error message)
2015-04-25 17:48:11 +02:00
Matthias Krüger
42f0955e3f
Move more setting checks out of loops and use const bools instead. Reorder a few related checks.
...
Follow up to eedcb6abcb
.
2015-04-10 14:31:19 +02:00
PKEuS
4e5c5eb238
Fixed #5665 : Recognize free() with more than one parameter
2015-04-09 20:50:19 +02:00
Matthias Krüger
6ff9a52d8b
don't print style message if --enable=style is not given ( #6627 )
...
message was of type:
(style) Class 'foo' is unsafe, 'foo::bar' can leak by wrong usage.
2015-04-06 12:02:21 +02:00
Dmitry-Me
aa7d665e7a
Better variable name
2015-04-01 16:39:45 +03:00
Dmitry-Me
4201279954
Merge overlapping patterns
2015-03-24 10:22:26 +03:00
Dmitry-Me
848f50b005
Get rid of Hungarian notation
2015-02-27 12:02:12 +03:00
Daniel Marjamäki
acbf48c7fa
Fixed #6548 (Tokenizer: Wrong varid set after function which is throw())
2015-02-26 16:31:42 +01:00
Dmitry-Me
cc18b8d1bb
Merge overlapping patterns
2015-02-05 17:30:49 +03:00
PKEuS
54b6b8e571
Fixed false positive #6481
2015-01-31 20:34:06 +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
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
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
Thomas Jarosch
fd01cafb1b
Clean up redundant pointer operations
2015-01-17 16:29:50 +01:00