You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.2 KiB
81 lines
1.2 KiB
/// sizeof when applied to a pointer typed expression gives the size of |
|
/// the pointer |
|
/// |
|
// Confidence: High |
|
// Copyright: (C) 2012 Julia Lawall, INRIA/LIP6. GPLv2. |
|
// Copyright: (C) 2012 Gilles Muller, INRIA/LiP6. GPLv2. |
|
// URL: http://coccinelle.lip6.fr/ |
|
// Comments: |
|
// Options: --no-includes --include-headers |
|
|
|
virtual org |
|
virtual report |
|
virtual context |
|
virtual patch |
|
|
|
@depends on patch && !(file in "ext")@ |
|
expression *x; |
|
expression f; |
|
expression i; |
|
type T; |
|
@@ |
|
|
|
( |
|
x = <+... sizeof( |
|
- x |
|
+ *x |
|
) ...+> |
|
| |
|
f(...,(T)(x),...,sizeof( |
|
- x |
|
+ *x |
|
),...) |
|
| |
|
f(...,sizeof( |
|
- x |
|
+ *x |
|
),...,(T)(x),...) |
|
| |
|
f(...,(T)(x),...,i*sizeof( |
|
- x |
|
+ *x |
|
),...) |
|
| |
|
f(...,i*sizeof( |
|
- x |
|
+ *x |
|
),...,(T)(x),...) |
|
) |
|
|
|
@r depends on !patch && !(file in "ext")@ |
|
expression *x; |
|
expression f; |
|
expression i; |
|
position p; |
|
type T; |
|
@@ |
|
|
|
( |
|
*x = <+... sizeof@p(x) ...+> |
|
| |
|
*f(...,(T)(x),...,sizeof@p(x),...) |
|
| |
|
*f(...,sizeof@p(x),...,(T)(x),...) |
|
| |
|
*f(...,(T)(x),...,i*sizeof@p(x),...) |
|
| |
|
*f(...,i*sizeof@p(x),...,(T)(x),...) |
|
) |
|
|
|
@script:python depends on org@ |
|
p << r.p; |
|
@@ |
|
|
|
cocci.print_main("application of sizeof to pointer",p) |
|
|
|
@script:python depends on report@ |
|
p << r.p; |
|
@@ |
|
|
|
msg = "ERROR: application of sizeof to pointer" |
|
coccilib.report.print_report(p[0],msg)
|
|
|