[cfe-commits] r86504 - in /cfe/trunk: lib/Analysis/CheckSizeofPointer.cpp test/Analysis/sizeofpointer.c

Ted Kremenek kremenek at apple.com
Mon Nov 9 15:13:20 PST 2009


Hi Zhongxing,

I think the previous wording was more in the right direction as it  
explained the actual problem; "This can produce an unexpected result."  
is fairly content-free unless you already know what the warning is  
about.

How about:

   "Call to sizeof() returns the size of the pointer (X bytes) instead  
of how much memory has been allocated by malloc()"

(where X bytes is filled in with the pointer size)

On Nov 8, 2009, at 6:28 PM, Zhongxing Xu wrote:

> Author: zhongxingxu
> Date: Sun Nov  8 20:28:12 2009
> New Revision: 86504
>
> URL: http://llvm.org/viewvc/llvm-project?rev=86504&view=rev
> Log:
> Add a test case for CWE-467, and simplify the wording of the warning.
>
> Added:
>    cfe/trunk/test/Analysis/sizeofpointer.c
> Modified:
>    cfe/trunk/lib/Analysis/CheckSizeofPointer.cpp
>
> Modified: cfe/trunk/lib/Analysis/CheckSizeofPointer.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Analysis/CheckSizeofPointer.cpp?rev=86504&r1=86503&r2=86504&view=diff
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/lib/Analysis/CheckSizeofPointer.cpp (original)
> +++ cfe/trunk/lib/Analysis/CheckSizeofPointer.cpp Sun Nov  8  
> 20:28:12 2009
> @@ -47,7 +47,7 @@
>     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);
>   }
> }
>
> Added: cfe/trunk/test/Analysis/sizeofpointer.c
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Analysis/sizeofpointer.c?rev=86504&view=auto
>
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> = 
> ======================================================================
> --- cfe/trunk/test/Analysis/sizeofpointer.c (added)
> +++ cfe/trunk/test/Analysis/sizeofpointer.c Sun Nov  8 20:28:12 2009
> @@ -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.}}
> +}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list