cppcheck/lib
rikardfalkeborn 613dc19b68 #4241: Check for address of single character passed as string (#1381)
* #4241: Check for address of single character passed as string

Add a check that address of a single character is not passed as argument
to argument marked as strings (using strz). The check does not warn if
the address of a character with known value '\0'.

Since ValueFlow currently does not handle global constants (see #7597),
do not warn if the variable is global to avoid FPs when the address of
a global variable assigned to '\0' is passed to a function expecting a
string.

Remove comment in docs saying strz is unused.

* Change asdf to Hello world

* Add test of address to first element in string

* Add error reporting function to getErrorMessages

* Fix strings in test
2018-10-14 18:49:34 +02:00
..
CMakeLists.txt Fixed #7660 (cmake build does not handle simplecpp) 2016-08-06 18:21:54 +02:00
analyzerinfo.cpp refactoring; use range for loops 2018-07-13 22:56:20 +02:00
analyzerinfo.h Updated copyright year 2018-10-13 18:20:31 +02:00
astutils.cpp Fixed #8735 (FP oppositeInnerCondition - regression) 2018-10-07 18:30:29 +02:00
astutils.h Fix false positives in unknownEvaluationOrder when using followVar (#1391) 2018-09-28 08:38:24 +02:00
check.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
check.h Renamed Check::_name 2018-06-16 16:31:07 +02:00
check64bit.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
check64bit.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkassert.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
checkassert.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkautovariables.cpp Fixed #8691 (False negative for uselessAssignmentArg) 2018-08-17 19:56:36 +02:00
checkautovariables.h Fix override warnings. (#1234) 2018-05-15 16:37:40 +02:00
checkbool.cpp Refactoring; Use Token::isBinaryOp() to clarify code, use early continue in loop 2018-07-13 23:06:45 +02:00
checkbool.h Add some missing errors to --errorlist output. (#1292) 2018-06-20 10:43:13 +02:00
checkboost.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
checkboost.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkbufferoverrun.cpp Fixed #7718 (False positive: out of bounds of already resized std::string) 2018-10-09 06:53:26 +02:00
checkbufferoverrun.h Rename private member variables 2018-06-17 17:20:16 +02:00
checkclass.cpp Fixed #8669 (operator>> causes wrong style message) 2018-10-03 13:00:11 +02:00
checkclass.h Disabled CheckClass::checkCopyCtorAndEqOperator because of FP (#8388) 2018-09-08 09:14:02 +02:00
checkcondition.cpp Reenable follow var for logical conjunction (#1400) 2018-10-01 14:40:03 +02:00
checkcondition.h Reenable follow var for logical conjunction (#1400) 2018-10-01 14:40:03 +02:00
checkexceptionsafety.cpp Refactoring; Use range for loops 2018-07-14 09:49:03 +02:00
checkexceptionsafety.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkfunctions.cpp #4241: Check for address of single character passed as string (#1381) 2018-10-14 18:49:34 +02:00
checkfunctions.h #4241: Check for address of single character passed as string (#1381) 2018-10-14 18:49:34 +02:00
checkinternal.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
checkinternal.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkio.cpp Refactoring: Use range for loops 2018-07-14 10:02:32 +02:00
checkio.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkleakautovar.cpp Refactoring: use range for loops 2018-07-14 09:54:52 +02:00
checkleakautovar.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkmemoryleak.cpp Fix FP with fclose after comma (#7525) (#1407) 2018-10-01 11:58:27 +02:00
checkmemoryleak.h Refactorings in CheckMemoryLeak 2018-06-18 09:40:27 +02:00
checknullpointer.cpp Clarify code with Token::isUnaryOp() 2018-07-14 10:26:22 +02:00
checknullpointer.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkother.cpp Fix #8230: FP unknown evaluation order on comma expression in while clause (#1415) 2018-10-09 14:44:01 +02:00
checkother.h Fix --doc output. * must be escaped. 2018-10-11 13:59:21 +02:00
checkpostfixoperator.cpp Refactoring: Use ranged for loop 2018-07-13 16:50:12 +02:00
checkpostfixoperator.h Fix override warnings. (#1234) 2018-05-15 16:37:40 +02:00
checksizeof.cpp Use for arithOperationsOnVoidPointer messages 2018-09-26 17:58:22 +02:00
checksizeof.h Fix override warnings. (#1234) 2018-05-15 16:37:40 +02:00
checkstl.cpp STL: enable inconclusive warnings with --inconclusive 2018-10-09 20:10:43 +02:00
checkstl.h Running astyle. There is no functional change intended. 2018-09-21 08:53:09 +02:00
checkstring.cpp Fix false positives in unknownEvaluationOrder when using followVar (#1391) 2018-09-28 08:38:24 +02:00
checkstring.h Fix --doc output. * must be escaped. 2018-10-11 13:59:21 +02:00
checktype.cpp Refactoring; use range for loop 2018-07-13 16:57:17 +02:00
checktype.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
checkuninitvar.cpp Ticket #8734: Skip static member variables in CheckUninitVar. (#1388) 2018-09-22 16:52:34 +02:00
checkuninitvar.h Fix override warnings. (#1234) 2018-05-15 16:37:40 +02:00
checkunusedfunctions.cpp Fixed #8677 (False positive: unused method) 2018-08-08 11:31:35 +02:00
checkunusedfunctions.h Rename private member variables 2018-06-17 18:58:27 +02:00
checkunusedvar.cpp Improved const correctness of local variables. There are no functional changes intended. (#1392) 2018-09-23 20:24:51 +02:00
checkunusedvar.h Rename private member variables 2018-06-17 19:04:06 +02:00
checkvaarg.cpp Rename _tokenizer, _settings, _errorLogger 2018-06-16 16:10:28 +02:00
checkvaarg.h Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
config.h Removed non-standard code annotations with __attribute__ 2016-01-09 09:33:56 +01:00
cppcheck.cpp Added support for -U option to the GUI. 2018-10-09 15:05:05 +02:00
cppcheck.h Ticket 7792: Suppression both exit_code and syntaxError when call cppcheck suppressions (#1345) 2018-09-08 11:09:49 +02:00
cppcheck.natvis Fixed Visual Studio Natvis file after recent refactoring (#1299) 2018-07-09 08:27:26 +02:00
cppcheck.vcxproj Copy platforms/ directory to bin/ 2018-02-27 09:09:12 +01:00
cppcheck.vcxproj.filters Fixed travis build by replacing Token::Match by simpleMatch() 2017-03-16 21:15:10 +01:00
errorlogger.cpp Fixed a typo. There are no functional changes intended. 2018-10-08 13:58:21 +02:00
errorlogger.h Travis: Fix xml validation by readding the line attribute in <location>. 2018-09-25 06:14:26 +02:00
importproject.cpp Fixed #8061 (Problems with handling of --project argument) 2018-08-31 16:06:52 +02:00
importproject.h fixed issue 8661: Misleading error message when compilation database is not recognized 2018-07-25 16:26:25 +02:00
lib.pri Added --cppcheck-build-dir flag 2016-10-29 12:18:11 +02:00
library.cpp Fixed #8697 (noreturn output stream) 2018-08-21 06:32:33 +02:00
library.h Rename Library::isargvalid() 2018-07-15 23:05:48 +02:00
matchcompiler.h Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
mathlib.cpp Rename private member variables 2018-06-17 17:04:34 +02:00
mathlib.h Updated copyright year 2018-10-13 18:20:31 +02:00
path.cpp Updated copyright year for modified files 2018-06-10 22:07:21 +02:00
path.h Updated copyright year 2018-01-14 15:37:52 +01:00
pathmatch.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
pathmatch.h Updated copyright year 2018-10-13 18:20:31 +02:00
pcrerules.pri
platform.cpp Updated copyright year 2018-03-31 20:59:09 +02:00
platform.h Updated copyright year 2018-03-31 20:59:09 +02:00
preprocessor.cpp Fixed handling of macros with known value defined in header file in configuration splitting (#8404) 2018-10-08 16:38:47 +02:00
preprocessor.h Renamed private member file0 2018-06-17 09:06:16 +02:00
settings.cpp Updated copyright year 2018-10-13 18:20:31 +02:00
settings.h Renamed --debug to --debug-simplified 2018-08-05 11:19:20 +02:00
standards.h Updated copyright year 2018-01-14 15:37:52 +01:00
suppressions.cpp Suppressions::NO_LINE : fixed comparisons 2018-09-23 16:50:51 +02:00
suppressions.h suppressions: Avoid duplicate comparison. 2018-10-04 17:13:11 +02:00
symboldatabase.cpp isVariableDeclaration: Handle pointer to const pointer (#1395) 2018-09-25 06:19:26 +02:00
symboldatabase.h Code cleanup 2018-06-20 10:39:21 +02:00
templatesimplifier.cpp Fixed #8693 (Template specialization: Constructor detected as normal … (#1418) 2018-10-14 16:57:07 +02:00
templatesimplifier.h Fixed #8693 (Template specialization: Constructor detected as normal … (#1418) 2018-10-14 16:57:07 +02:00
timer.cpp Rename private member variables 2018-06-17 17:20:16 +02:00
timer.h Rename private member variables 2018-06-17 17:20:16 +02:00
token.cpp Fixed #8693 (Template specialization: Constructor detected as normal … (#1418) 2018-10-14 16:57:07 +02:00
token.h Fixed #8693 (Template specialization: Constructor detected as normal … (#1418) 2018-10-14 16:57:07 +02:00
tokenize.cpp Skip some ast errors to avoid regressions (#1422) 2018-10-13 18:38:44 +02:00
tokenize.h Fixed #8683 (Using deleted token with multiple template instantiations.) (#1353) 2018-09-01 11:26:10 +02:00
tokenlist.cpp Skip some ast errors to avoid regressions (#1422) 2018-10-13 18:38:44 +02:00
tokenlist.h Renamed _isC and _isCPP 2018-06-16 16:28:03 +02:00
utils.h Revert "Refactoring endsWith utility function" 2018-07-25 16:14:43 +02:00
valueflow.cpp Fix false positives in unknownEvaluationOrder when using followVar (#1391) 2018-09-28 08:38:24 +02:00
valueflow.h Updated copyright year 2018-10-13 18:20:31 +02:00
version.h 1.85: Set version 2018-10-13 18:55:19 +02:00
version.rc