forked from OSchip/llvm-project
Turn on strncat-size warning implemented a while ago.
Warns on anti-patterns/typos in the 'size' argument to strncat. The correct size argument should look like the following: - strncat(dst, src, sizeof(dst) - strlen(dest) - 1); We warn on: - sizeof(dst) - sizeof(src) - sizeof(dst) - strlen(dst) - sizeof(src) - anything (This has been implemented in void Sema::CheckStrncatArguments().) llvm-svn: 161440
This commit is contained in:
parent
815f72bac7
commit
f0267f5c9e
|
@ -373,9 +373,9 @@ def note_strlcpycat_wrong_size : Note<
|
|||
|
||||
def warn_strncat_large_size : Warning<
|
||||
"the value of the size argument in 'strncat' is too large, might lead to a "
|
||||
"buffer overflow">, InGroup<StrncatSize>, DefaultIgnore;
|
||||
"buffer overflow">, InGroup<StrncatSize>, DefaultWarnNoWerror;
|
||||
def warn_strncat_src_size : Warning<"size argument in 'strncat' call appears "
|
||||
"to be size of the source">, InGroup<StrncatSize>, DefaultIgnore;
|
||||
"to be size of the source">, InGroup<StrncatSize>, DefaultWarnNoWerror;
|
||||
def note_strncat_wrong_size : Note<
|
||||
"change the argument to be the free space in the destination buffer minus "
|
||||
"the terminating null byte">;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %clang_cc1 -analyze -analyzer-checker=unix.cstring.BadSizeArg -analyzer-store=region -Wno-strlcpy-strlcat-size -Wno-sizeof-array-argument -Wno-sizeof-pointer-memaccess -verify %s
|
||||
// RUN: %clang_cc1 -analyze -analyzer-checker=unix.cstring.BadSizeArg -analyzer-store=region -Wno-strncat-size -Wno-strlcpy-strlcat-size -Wno-sizeof-array-argument -Wno-sizeof-pointer-memaccess -verify %s
|
||||
|
||||
typedef __SIZE_TYPE__ size_t;
|
||||
char *strncat(char *, const char *, size_t);
|
||||
|
|
Loading…
Reference in New Issue