From c24e9f3a5782096d0bdd9e8aa9f80955a3b60bbd Mon Sep 17 00:00:00 2001 From: Zhongxing Xu Date: Mon, 9 Nov 2009 02:28:12 +0000 Subject: [PATCH] Add a test case for CWE-467, and simplify the wording of the warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86504 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/CheckSizeofPointer.cpp | 2 +- test/Analysis/sizeofpointer.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/Analysis/sizeofpointer.c diff --git a/lib/Analysis/CheckSizeofPointer.cpp b/lib/Analysis/CheckSizeofPointer.cpp index c61f6f570a..3cec5c9e98 100644 --- a/lib/Analysis/CheckSizeofPointer.cpp +++ b/lib/Analysis/CheckSizeofPointer.cpp @@ -47,7 +47,7 @@ void WalkAST::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *E) { SourceRange R = E->getArgumentExpr()->getSourceRange(); BR.EmitBasicReport("Potential unintended use of sizeof() on pointer type", "Logic", - "The code calls sizeof() on a malloced pointer type, which always returns the wordsize/8. This can produce an unexpected result if the programmer intended to determine how much memory has been allocated.", + "The code calls sizeof() on a pointer type. This can produce an unexpected result.", E->getLocStart(), &R, 1); } } diff --git a/test/Analysis/sizeofpointer.c b/test/Analysis/sizeofpointer.c new file mode 100644 index 0000000000..e40c718572 --- /dev/null +++ b/test/Analysis/sizeofpointer.c @@ -0,0 +1,8 @@ +// RUN: clang-cc -analyze -warn-sizeof-pointer -verify %s + +struct s { +}; + +int f(struct s *p) { + return sizeof(p); // expected-warning{{The code calls sizeof() on a pointer type. This can produce an unexpected result.}} +} -- 2.50.1